यहाँ मेरा कोड है ...
$ 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
Post a Comment