Semasa bekerja dengan rentetan Sweden dan Norway yang disimpan dalam jadual pangkalan data, anda mungkin menghadapi masalah dengan pemformatan jadual apabila menanyakan data menggunakan set aksara yang berbeza.
Secara lalai, menggunakan "set names latin1;" menghasilkan output yang herot:
+-----------------------------------+ | name | +-----------------------------------+ | Kid Interi##### | | Bwg Homes | | If Skadef####kring | | Jangaard Export | | Nordisk Film | +-----------------------------------+
Bertukar kepada "tetapkan nama utf8;" memaparkan aksara dengan betul, tetapi mengganggu pemformatan jadual:
+-----------------------------------+ | name | +-----------------------------------+ | Kid Interiør | | Bwg Homes | | If Skadeförsäkring | | Jangaard Export | | Nordisk Film | +-----------------------------------+
Untuk mengekalkan pemformatan jadual semasa menggunakan pengekodan aksara UTF8, anda boleh memulakan klien MySQL dengan "--default- character-set=utf8" pilihan:
mysql --default-character-set=utf8
Anda juga boleh mengkonfigurasi ini sebagai tetapan lalai dalam fail "/etc/mysql/my.cnf":
[mysql] default-character-set=utf8
Ini menetapkan pembolehubah konfigurasi character_set_client, character_set_connection dan character_set_results kepada utf8.
Jika isu pemformatan berterusan, pastikan pangkalan data, jadual dan lajur juga ditetapkan kepada utf8 menggunakan arahan berikut:
SHOW VARIABLES LIKE '%CHAR%'; SET character-set-server = utf8;
Selain itu, semak sebarang aksara Unicode yang mungkin ditulis dengan sambungan latin1. Untuk menyelesaikan masalah ini, sambungkan ke pangkalan data dengan set charset yang sama seperti nilai yang ditulis, atau dapatkan dan tulis semulanya menggunakan pengekodan yang betul.
Nota: Pengekodan utf8 MySQL bukanlah Unicode yang lengkap pelaksanaan. Pertimbangkan untuk menggunakan set aksara utf8mb4 untuk pelaksanaan UTF-8 yang sebenar:
mysql --default-character-set=utf8mb4
Atas ialah kandungan terperinci Bagaimana untuk Mengekalkan Pemformatan Jadual dalam MySQL dengan Pengekodan Aksara UTF8?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!