أخطاء APK

في MySQL يصير حرف ə علامة سؤال

ə بايتان. الـ utf8 القديم يستطيع حفظه. الفساد غالبًا من الاتصال: البرنامج يرسل النص كـ latin1، وإذا كان العمود latin1 أيضًا صار الحرف ?.

اجعل القاعدة والاتصال utf8mb4. لا تكتب latin1. إذا صار الحرف ? فتغيير الجدول لا يُرجعه.

  • افتح القاعدة هكذا: CREATE DATABASE magaza CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci.
  • في Python اكتب charset="utf8mb4". وcharset="latin1" والترميز الفارغ يجعلان ə يصير ?.
  • إذا كان العمود القديم latin1 فصدّر النص أولًا ثم اجعل العمود utf8mb4. الترتيب العكسي يُبقي ?.
  • SET NAMES utf8mb4 للاتصال. لا يغيّر رمز ? المكتوب أصلًا.
  • للترتيب في MySQL 8 يوجد utf8mb4_az_0900_ai_ci. الترتيب الذي في اسمه az لا يعدّ ə كـ e.
import pymysql

baglanti = pymysql.connect(
    host="127.0.0.1",
    user="root",
    password="",
    database="magaza",
    charset="utf8mb4",
)

أدلة ذات صلة