MySQL / PHP - Accented characters causing unusable data to be returned -


यहाँ मेरा कोड है ...

  $ mysqli = new mysqli (HOST, USER) , पासवर्ड, डाटाबेस); mysql_set_charset ( 'UTF8'); $ Sql ​​= "चयन करें my_table से product_name"; $ परिणाम = mysqli_query ($ mysqli, $ sql) या trigger_error (mysql_error ()); जबकि ($ पंक्ति = mysqli_fetch_assoc ($ परिणाम)) {foreach ($ पंक्ति के रूप में $ पंक्ति = & gt; $ value) {// here, $ value populated है लेकिन इसमें एक खराब अक्षर $ value = replaceAccents ($ value) हो सकता है; // यहां, $ मान अब खाली है यदि इसमें एक बुरा अक्षर है}}  

मैंने अपने सभी तालिकाओं को साथ बना दिया है ...

  डिफॉल्ट चार्ज = Utf8  

... और मैंने भी बुलाया है ...

  ALTER DATABASE my_database CHARACTER SET utf8 COLLATE utf8_unicode_ci;  

अधिकांश डेटा को तालिका से ठीक लौटा दिया गया है, लेकिन अगर कोई फ़ील्ड एक उच्चारण वाला चरित्र (उदाहरण के लिए, Crème ) है, तो एक अनुपयोगी मान वापस कर दिया जाता है।

<पी> मैंने इस तरह की कोई समस्या नहीं देखी है - केवल थोड़ा ही समान वाले, जो उपरोक्त कोड / परिवर्तन लागू हो रहे हैं।

क्या गलत हो रहा है और कैसे ठीक करना है ?? < संयोग से, अगर मैं उपरोक्त sql खोज phpmyadmin में करता हूँ, तो समस्यात्मक मान ( Crème युक्त) ठीक दिखाता है।

पूर्णता के लिए, यहाँ मेरी जगह एक्टन्स फ़ंक्शन है ...

  फ़ंक्शन प्रतिस्थापित एक्कैंट्स ($ str) {$ str = iconv ('UTF-8', 'ASCII // TRANSLIT / / इग्नॉर ', $ str); वापसी $ str; }  


Comments