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:
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";
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";
Untuk Lajur:
SELECT character_set_name FROM information_schema.`COLUMNS` C WHERE table_schema = "schemaname" AND table_name = "tablename" AND column_name = "columnname";
Tetapkan set aksara dan susunan yang betul jika perlu :
Untuk Pangkalan Data:
ALTER DATABASE databasename CHARACTER SET = utf8 COLLATE = utf8_general_ci;
Untuk Jadual:
ALTER TABLE tablename CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
Untuk Lajur:
ALTER TABLE tablename MODIFY columnname VARCHAR(50) CHARACTER SET utf8;
Manual Sisipan Data Arab:
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!