Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> PHP

PHP - mb_detect_encoding() के साथ कैरेक्टर एन्कोडिंग का पता लगाएं


PHP में mb_detect_encoding() फ़ंक्शन

PHP में, **mb_detect_encoding()** का उपयोग **कैरेक्टर एन्कोडिंग का पता लगाने** के लिए किया जाता है। यह उम्मीदवारों की एक क्रमबद्ध सूची से स्ट्रिंग के लिए कैरेक्टर एन्कोडिंग का पता लगा सकता है। PHP 4.0.6+ में समर्थित।

महत्वपूर्ण चेतावनी

स्वचालित कैरेक्टर एन्कोडिंग पहचान अतिरिक्त जानकारी के बिना **पूरी तरह विश्वसनीय नहीं** है। यह कुंजी के बिना एन्क्रिप्टेड स्ट्रिंग को डिकोड करने जैसा है। डेटा के साथ संग्रहीत/प्रेषित **Content-Type HTTP हेडर** में `charset` का उपयोग एन्कोडिंग संकेत के लिए करें।

सिंटैक्स

string|false mb_detect_encoding(
    string $string,
    array|string $encoding = null,
    bool $strict = false
): string|false

पैरामीटर्स

  • $string - जांच की जाने वाली स्ट्रिंग।
  • $encoding - कोशिश करने के लिए कैरेक्टर एन्कोडिंग्स की सूची (सरणी या कॉमा-अलग स्ट्रिंग)। यदि छोड़ा गया, तो `mbstring.detect_order` या `mb_detect_order()` उपयोग किया जाता है।
  • $strict - व्यवहार नियंत्रित करता है जब स्ट्रिंग किसी सूचीबद्ध एन्कोडिंग में मान्य नहीं होती:
    • false (डिफ़ॉल्ट): निकटतम मिलान वाली एन्कोडिंग लौटाता है।
    • true: यदि कोई मान्य एन्कोडिंग नहीं मिली तो **false** लौटाता है।

रिटर्न मान

  • पता लगाई गई **कैरेक्टर एन्कोडिंग (स्ट्रिंग)**।
  • यदि स्ट्रिंग किसी सूचीबद्ध एन्कोडिंग में मान्य नहीं है तो **false**।

उदाहरण 1: सख्त मोड के बिना

<?php
$string = ""; // खाली स्ट्रिंग
echo mb_detect_encoding($string);           // ASCII (डिफ़ॉल्ट डिटेक्ट ऑर्डर)
echo mb_detect_encoding($string, "auto");   // ASCII (mbstring.language के अनुसार विस्तारित)
echo mb_detect_encoding($string, "JIS, eucjp-win, sjis-win"); // JIS
$arr = ["ASCII", "JIS", "EUC-JP"];
echo mb_detect_encoding($string, $arr);     // ASCII
?>
ASCIIASCIIJISASCII

उदाहरण 2: सख्त मोड के साथ

<?php
// ISO-8859-1 में एन्कोडेड: á é ó ú
$string = "\xE1\xE9\xF3\xFA";

// UTF-8 को निकटतम मिलान माना जाता है (लेकिन अमान्य)
var_dump(mb_detect_encoding($string, ['ASCII', 'UTF-8'], false)); // string(5) "UTF-8"
var_dump(mb_detect_encoding($string, ['ASCII', 'UTF-8'], true));  // bool(false)

// ISO-8859-1 सूची में है - मान्य मिलान
var_dump(mb_detect_encoding($string, ['ASCII', 'UTF-8', 'ISO-8859-1'], false)); // string(10) "ISO-8859-1"
var_dump(mb_detect_encoding($string, ['ASCII', 'UTF-8', 'ISO-8859-1'], true));  // string(10) "ISO-8859-1"
?>

सर्वोत्तम प्रथाएं

  • हमेशा संभव हो तो **स्पष्ट एन्कोडिंग घोषणा** (HTTP हेडर, BOM, मेटाडेटा) का उपयोग करें।
  • सुरक्षा-महत्वपूर्ण संदर्भों के लिए **$strict = true** का उपयोग करें।
  • आधुनिक एप्लिकेशन के लिए: **हर जगह UTF-8** मान लें/लागू करें।
  1. PHP में imagesetpixel() फ़ंक्शन से सिंगल पिक्सेल सेट करें PHP में imagesetpixel() फ़ंक्शन से सिंगल पिक्सेल सेट करें

    imagesetpixel() PHP में एक अंतर्निहित फ़ंक्शन है जिसका उपयोग सूचीबद्ध कोऑर्डिनेट पर सिंगल पिक्सेल सेट करने के लिए किया जाता है। सिंटैक्स bool imagesetpixel(resource $image, int $x, int $y, int $color) पैरामीटर्स imagesetpixel() चार पैरामीटर्स स्वीकार करता है: $image, $x, $y और $color। $image - काम

  1. PHP में imageline() फ़ंक्शन से लाइन ड्रा करें PHP में imageline() फ़ंक्शन से लाइन ड्रा करें

    imageline() PHP में एक अंतर्निहित फ़ंक्शन है जिसका उपयोग दो दिए गए पॉइंट्स के बीच लाइन ड्रा करने के लिए किया जाता है। सिंटैक्स bool imageline(resource $image, int $x1, int $y1, int $x2, int $y2, int $color) पैरामीटर्स imageline() छह अलग-अलग पैरामीटर्स लेता है: $image, $x1, $y1, $x2, $y2 और $color।

  1. Outlook में कैरेक्टर एन्कोडिंग कैसे बदलें Outlook में कैरेक्टर एन्कोडिंग कैसे बदलें

    अक्सर, जब कोई प्रेषक Outlook के माध्यम से हमें मेल भेजता है, तो हम संदेश नहीं देखते हैं बल्कि कुछ अपठनीय वर्ण देखते हैं। यदि आप नियमित रूप से अपने Outlook मेल में कुछ अजीब या गलत वर्ण देखते हैं, तो यह छोटा ट्यूटोरियल आपको समस्या को हल करने में मदद करेगा। जब आप कीबोर्ड पर कुछ टाइप करते हैं, तो एक कंप