Rumah > Artikel > pangkalan data > Watak bercelaru dalam mysql
Aksara bercelaru sebenarnya agak biasa dalam MySQL, terutamanya apabila memproses teks Cina, Jepun, Korea dan lain-lain. Menyelesaikan masalah jenis ini memerlukan kemahiran dan pengalaman tertentu Beberapa kaedah biasa akan diperkenalkan di bawah.
Dalam MySQL, set aksara adalah sangat penting Jika set aksara tidak ditetapkan dengan betul, aksara bercelaru akan muncul dengan mudah. Oleh itu, apabila menggunakan pangkalan data MySQL, anda mesti memberi perhatian kepada menetapkan set aksara.
Pertama, kami perlu mengesahkan set aksara mana yang disokong oleh pangkalan data MySQL. Kita boleh melaksanakan arahan berikut untuk melihat set aksara yang disokong oleh pangkalan data MySQL semasa:
show character set;
Kemudian kita perlu mengesahkan set aksara pangkalan data itu. Kami boleh melaksanakan arahan berikut untuk melihat:
show create database 数据库名;
Jika set aksara bukan UTF-8, anda boleh melaksanakan arahan berikut untuk mengubah suai set aksara pangkalan data kepada UTF-8:
alter database 数据库名 character set utf8;
Juga diperlukan untuk setiap jadual Semak dan ubah suai set aksara:
alter table 表名 convert to character set utf8;
Jika data yang kami import dikodkan UTF-8, dan set aksara pangkalan data MySQL itu sendiri bukanlah UTF-8, ia adalah mudah untuk mempunyai aksara yang kacau apabila mengimport data. Untuk mengelakkan ini, kita mesti menentukan set aksara sebagai UTF-8 apabila mengimport data. Anda boleh menggunakan arahan berikut untuk mengimport:
mysql -h 主机名 -u 用户名 -p 密码 数据库名 < 文件名 --default-character-set=utf8
Mengekalkan set aksara klien MySQL konsisten dengan set aksara pangkalan data juga boleh mengelakkan aksara bercelaru berlaku. Anda boleh memasukkan baris arahan dan laksanakan arahan berikut:
set names utf8;
atau apabila menyambung ke pelayan MySQL, nyatakan set aksara:
mysql -h 主机名 -u 用户名 -p 密码 --default-character-set=utf8 数据库名
Pada pelayan MySQL, kita perlu menyemak sama ada fail konfigurasi my.cnf telah menetapkan set aksara dengan betul Fail konfigurasi ini mengandungi banyak tetapan lalai, seperti set aksara lalai, dsb. Jika fail my.cnf tidak menetapkan set aksara yang betul, anda perlu mengubah suai fail ini secara manual.
Mula-mula anda perlu mencari lokasi fail my.cnf, masukkan arahan berikut dalam baris arahan:
locate my.cnf
Kemudian cari fail my.cnf yang sepadan, gunakan mana-mana editor teks untuk buka fail my.cnf Dan tambahkan kandungan berikut:
[client] default-character-set=utf8 [mysqld] default-character-set=utf8 character-set-server=utf8 skip-character-set-client-handshake
5 Ubah suai medan jadual
Jika tiada kaedah di atas dapat menyelesaikan masalah bercelaru, maka ini bermakna data bercelaru tidak boleh. dipulihkan dalam pangkalan data MySQL, maka anda perlu Pertimbangkan untuk mengubah suai set aksara medan jadual. Anda boleh menggunakan pernyataan SQL berikut:
ALTER TABLE 表名 CHANGE 列名 列名 VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL;
Pernyataan SQL di atas menukar lajur jenis aksara tertentu bagi nama jadual kepada set aksara utf8 dan menetapkan pengumpulan berkaitan kepada utf8_general_ci.
Secara amnya, terdapat banyak cara untuk menghadapi aksara bercelaru dalam MySQL Anda boleh menetapkan set aksara, menentukan set aksara semasa mengimport data, menukar set aksara klien MySQL dan mengubah suai konfigurasi my.cnf. Mulakan dengan fail, ubah suai medan jadual, dsb. Saya harap kaedah di atas dapat membantu anda menyelesaikan masalah bercelaru dalam MySQL.
Atas ialah kandungan terperinci Watak bercelaru dalam mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!