2015-09-30 6 views
5

PHP में साथ chr समारोह जारी करना मैं निम्नलिखित कोड है:पीएचपी: विशेष वर्ण

<?php 
    echo "€<br>"; 
    echo ord("€") . "<br>"; 
    echo chr(128) . "<br>"; 

और मैं निम्नलिखित उत्पादन प्राप्त करें:

€ 
128 
� 

क्यों chr समारोह मुझे प्रदान नहीं कर सकते € साइन इन करें? मैं € कैसे प्राप्त कर सकता हूं? मुझे वास्तव में काम करने की ज़रूरत है। अग्रिम में धन्यवाद।

+0

मैं एक स्ट्रिंग के अंदर वास्तविक € संकेत की जरूरत है एक बहु बाइट एन्कोडिंग के साथ। – BisaZ

+0

मेरे लिए ठीक काम किया। –

+0

यूटीएफ -8 (बीओएम के साथ/बिना) के रूप में सहेजी गई फ़ाइल क्या है? मुद्दा हो सकता है। इसे एएनएसआई के रूप में सहेजें और सभी 3 इको सही तरीके से दिखाई देंगे। –

उत्तर

4

chr और ord केवल एकल बाइट ASCII वर्णों के साथ काम करते हैं। अधिक विशेष रूप से ord केवल इसके पैरामीटर के पहले बाइट को देखता है।

यूरो चिह्न UTF-8 में एक तीन बाइट वर्ण है: तो ord("€") (UTF-8 प्रतीक के साथ), 0xE2 0x82 0xAC रिटर्न 226 (0xE2)

अक्षर हैं जो आईएसओ 8859- में भी मौजूद हैं के लिए 1 (लैटिन 1) चरित्र सेट, आप utf8_encode() और utf8_decode() का उपयोग कर सकते हैं, लेकिन दुर्भाग्य से € संकेत वहां मौजूद नहीं है, इसलिए utf8_decode('€') वापस आएगा? " और वापस परिवर्तित नहीं किया जा सकता है।

टी एल; डॉ: आप ord और chr उपयोग नहीं कर सकते जैसे UTF-8

संबंधित मुद्दे