PHP 5.4 सेटअप पर, मेरे पास PHP.ini में ये सेटिंग्स हैं:
Zend.multibyte = on zend.script_encoding = UTF-16BE zend.detect-unicode = 0
मैं एक विशेष एन्कोडिंग, उदाहरण के लिए मेरी PHP स्क्रिप्ट व्याख्या करने के लिए zend इंजन प्राप्त करने की कोशिश कर रहा हूँ UTF-16BE। इसका अर्थ है कि किसी अन्य एन्कोडिंग में एन्कोड की गई स्क्रिप्ट विफल होनी चाहिए। मैं ज़ेंड इंजन को किसी भी ग़लतफ़हमी के लिए नहीं करना चाहता, चाहे बाइट सीक्वेंस जैसे बीओएम अंकों के अस्तित्व के बावजूद
यह मेरी स्क्रिप्ट index.php है: < / P>
& lt;? Php गूंज '1';
फाइल कुल 32 बाइट्स है, यूटीएफ -16 <बी> ले बी>:
एफएफ एफई / बीओएम 3 सी 00 3 एफ 00 70 00 68 00 70 00 20 00 // & lt;? Php 65 00 63 00 68 00 6 एफ 00 20 00 // गूंज 27 00 31 00 27 00 // '1' 3 बी 00 //;
स्क्रिप्ट विफल होनी चाहिए, क्योंकि उपलब्ध एन्कोडिंग यूटीएफ -16 बीई नहीं है। हालांकि, उत्पादन 1
है, साबित होता है कि इंजन आपूर्ति बाइट्स के आधार पर एन्कोडिंग-अनुमान लगा रहा है।
आउटपुट भी 1
है जब हम फाइल को यूओटीएफएम -8 के साथ BOM से बचाएं:
ईएफ बीबी बीएफ / बीओएम 3 सी 3 एफ 70 68 70 20 // & lt; php 65 63 68 6 एफ 20 / गूंज 27 31 27 / / '1' 3 बी //;
उम्मीद के मुताबिक काम क्यों नहीं कर रहा है?
इससे भी महत्वपूर्ण बात, हम कैसे zend.script_encoding
में दिए गए एन्कोडिंग का सम्मान करने के लिए इंजन को कॉन्फ़िगर कर सकते हैं ?
Comments
Post a Comment