Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mengelakkan Tanda Tanya Semasa Menyimpan Data Arab dalam MySQL?

Bagaimana untuk Mengelakkan Tanda Tanya Semasa Menyimpan Data Arab dalam MySQL?

Barbara Streisand
Lepaskan: 2024-12-08 20:51:12
asal
403 orang telah melayarinya

How to Avoid Question Marks When Storing Arabic Data in MySQL?

Cara Menyimpan Data Arab dalam Pangkalan Data MySQL dengan Betul

Menyimpan teks Arab dalam pangkalan data MySQL boleh menimbulkan cabaran jika pengekodan dan pengumpulan aksara yang diperlukan tidak dikonfigurasikan dengan betul.

Isu Biasa: Melihat Tanda Soalan Daripada Bahasa Arab

Jika anda menghadapi tanda soal (????) semasa mendapatkan semula teks Arab daripada pangkalan data anda, ia mungkin disebabkan oleh:

  • Set aksara dan tetapan pengumpulan yang salah untuk pangkalan data, jadual atau lajur
  • Sisipan manual teks Arab tanpa memastikan yang betul pengekodan

Penyelesaian:

Menyemak dan Menetapkan Set dan Pengumpulan Aksara yang Betul:

  • Sahkan bahawa pangkalan data, jadual dan lajur mempunyai set aksara UTF-8 dan Pengumpulan UTF-8 general_ci.

    • Gunakan arahan SQL berikut untuk menyemak:

      • Untuk Pangkalan Data:

        SELECT default_character_set_name FROM information_schema.SCHEMATA S
        WHERE schema_name = "schemaname";
        Salin selepas log masuk
      • Untuk Jadual:

        SELECT CCSA.character_set_name FROM information_schema.`TABLES` T,
        information_schema.`COLLATION_CHARACTER_SET_APPLICABILITY` CCSA
        WHERE CCSA.collation_name = T.table_collation
        AND T.table_schema = "schemaname"
        AND T.table_name = "tablename";
        Salin selepas log masuk
      • Untuk Lajur:

        SELECT character_set_name FROM information_schema.`COLUMNS` C
        WHERE table_schema = "schemaname"
        AND table_name = "tablename"
        AND column_name = "columnname";
        Salin selepas log masuk
    • Tetapkan set aksara dan susunan yang betul jika perlu :

      • Untuk Pangkalan Data:

        ALTER DATABASE databasename CHARACTER SET = utf8 COLLATE = utf8_general_ci;
        Salin selepas log masuk
      • Untuk Jadual:

        ALTER TABLE tablename CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
        Salin selepas log masuk
      • Untuk Lajur:

        ALTER TABLE tablename MODIFY columnname VARCHAR(50) CHARACTER SET utf8;
        Salin selepas log masuk

Manual Sisipan Data Arab:

  • Pastikan teks Arab dikodkan dalam UTF-8 apabila memasukkannya secara manual.
  • Elakkan sebarang aksara khas (cth., apostrof) dalam Teks Arab menggunakan garis miring ke belakang.

Dengan mengikut langkah ini, anda boleh menyimpan dan dapatkan semula data Arab dalam pangkalan data MySQL anda, memastikan perwakilan tepat tanpa sebarang aksara tanda soal.

Atas ialah kandungan terperinci Bagaimana untuk Mengelakkan Tanda Tanya Semasa Menyimpan Data Arab dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan