مجموعة الأحرف مشاكل
-
22-07-2019 - |
سؤال
لدي الصغيرة اياكس التطبيق المدمج مع php.
باستخدام phpMyAdmin لدي مجموعة الخلية قاعدة البيانات الى utf-8, و قد استوردت ملف النصي الذي يحتوي utf-8 البيانات في ذلك.
هذا يعمل بشكل جيد على جهاز ويندوز مع easyphp, بعد إضافة مجموعة أحرف-server=utf8 الافتراضي-مجموعة الأحرف=utf8 إلى بلدي.cnf.
لقد حاولت نقل هذا الإنتاج الملقم حيث لم يكن لديك الوصول إلى ملف التكوين و الشخصيات مثل علامات تغير في الصوت لا يتم عرض.
هل هناك شيء يمكن أن يكون في كود php(وليس ملف التكوين) لحل هذه المشكلة ، أو بعض الأوامر لا يمكن أن تعطي الخلية ؟
حاولت تغيير قاعدة البيانات vweb_50
مجموعة الأحرف الافتراضية utf8 COLLATE utf8_bin مع بريس في محاولة من utf8_general_ci ولكن لا فرق.
المحلول
هناك بضعة أشياء يجب القيام به هنا ، وأنا لست متأكدا من أنني أفهم مشكلتك بشكل صحيح, ولكن إذا كنت لا أعتقد أكثر من ذلك يمكن معالجتها مع وظائف PHP utf8_encode و utf8_decode:
- utf8_encode
- ترميز ISO-8859-1 السلسلة إلى UTF-8
- utf8_decode
- هذه الوظيفة يترجم البيانات ، يفترض أن يكون UTF-8 ترميز ISO-8859-1.
أيضا, النظر في htmlentities إذا لزم الأمر.
نصائح أخرى
إذا كنت تستخدم UTF-8 في جميع أنحاء التطبيق (أي أوصي)، لا تحتاج وظائف utf8_encode / فك شفرة. هل راجعت الذي ترميز صفحتك يتم تقديم في؟ ربما تم تكوين ملقم لارسال-ايزو 8859-1 كما محارف، في حين ترسل بيئة الاختبار UTF-8. تعيين ترميز مع رأس نوع المحتوى:
header("Content-Type: text/html; charset=utf-8");