首頁 >資料庫 >mysql教程 >為什麼我的阿拉伯字元在 MySQL 資料庫中顯示為問號?

為什麼我的阿拉伯字元在 MySQL 資料庫中顯示為問號?

Patricia Arquette
Patricia Arquette原創
2024-12-08 19:46:12675瀏覽

Why are my Arabic characters showing as question marks in my MySQL database?

在 MySQL 資料庫中儲存阿拉伯資料

問題:當嘗試將阿拉伯文字插入 MySQL資料庫時,文字顯示為問題

診斷:

當資料庫、表格或列字元集和排序規則未設定為支援阿拉伯字元時,就會出現此問題。預設情況下,MySQL 使用 Latin1 字元集,不包含阿拉伯字元。

解決方案:

要解決此問題,關鍵是要確保資料庫、表格和列配置有適合阿拉伯語的字元集和排序規則

步驟:

  1. 檢查資料庫、表格、列的字元集和排序規則:

    • 對於數據庫:

      SELECT default_character_set_name FROM information_schema.SCHEMATA WHERE schema_name = "your_database_name";
    • 對於表:

      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 = "your_database_name" AND T.table_name = "your_table_name";
    • 對於column:

      SELECT character_set_name FROM information_schema.`COLUMNS` C
      WHERE table_schema = "your_database_name" AND table_name = "your_table_name" AND column_name = "your_column_name";
  2. 將字元集和排序規則設定為utf8 和 utf8_general_ci:

    • 對於數據庫:

      ALTER DATABASE your_database_name CHARACTER SET utf8 COLLATE utf8_general_ci;
    • 對於表:

      ALTER TABLE your_table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
    • 對於列:

      ALTER TABLE your_table_name MODIFY your_column_name VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_general_ci;
  3. 手動將阿拉伯資料插入資料庫:

    • 使用類似的編輯器支援UTF-8 字元編碼的 phpMyAdmin 或 SQLyog。
    • 檢查將編輯器和資料庫的字元集和排序規則設為 utf8_general_ci。
    • 直接在資料庫介面的文字欄位中輸入阿拉伯字元。

透過確保資料庫、表和列的字符集和排序規則設定為支援阿拉伯字符,您可以在 MySQL 中成功儲存和檢索阿拉伯資料資料庫。

以上是為什麼我的阿拉伯字元在 MySQL 資料庫中顯示為問號?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn