Rumah > Artikel > pangkalan data > Bagaimana untuk menyelesaikan kod mysql bercelaru
MySQL ialah sistem pengurusan pangkalan data hubungan yang popular. Apabila menggunakan MySQL, sesetengah pengguna mungkin menghadapi aksara bercelaru, yang boleh menjejaskan operasi biasa program secara negatif. Dalam artikel ini, kami akan menerangkan kepada anda apa itu MySQL bercelaru dan cara membetulkannya.
Kod kacau MySQL biasanya disebabkan oleh tetapan set aksara yang salah atau set aksara yang tidak sepadan. MySQL menyokong berbilang set aksara, seperti UTF-8, GBK, GB2312, dll., tetapi dalam penggunaan sebenar, situasi berikut mungkin berlaku:
(1) Set aksara pangkalan data dan set aksara jadual data adalah berbeza;
(2) Apabila aplikasi bersambung ke pangkalan data MySQL, pelayan MySQL tidak mengenali set aksara pelanggan dengan betul.
Masalah ini boleh menyebabkan aksara bercelaru dalam data yang disimpan Contohnya, apabila data Cina disimpan dalam pangkalan data MySQL, aksara haram seperti "骥??"
Kaedah untuk menyelesaikan masalah MySQL yang bercelaru adalah seperti berikut:
2.1 Tetapkan set aksara MySQL
Dalam MySQL, Set aksara boleh ditetapkan pada peringkat pelayan, peringkat pangkalan data atau peringkat jadual. Set aksara yang ditetapkan pada peringkat pelayan akan digunakan pada semua pangkalan data dan jadual. Jika anda ingin menggunakan set aksara yang berbeza dalam pangkalan data atau jadual tertentu, anda boleh menentukan set aksara untuk setiap pangkalan data dan jadual.
Apabila mencipta pangkalan data dan jadual MySQL, anda boleh menetapkan set aksara melalui arahan berikut:
CREATE DATABASE database_name SET CHARACTER SET utf8;
CREATE TABLE table_name (
column1 datatype CHARACTER SET utf8,
column2 datatype CHARACTER SET utf8,
…);
2.2 Ubah suai set aksara sambungan MySQL
Apabila menyambung ke pangkalan data MySQL, anda perlu konfigurasikannya dalam aplikasi Tentukan set aksara sambungan yang betul untuk memastikan pelayan MySQL mengenali set aksara pelanggan dengan betul. Jika anda menggunakan PHP, anda boleh menggunakan kod berikut untuk menetapkan set aksara sambungan:
mysqli_set_charset($conn, "utf8");
Di mana, $conn dicipta apabila anda menyambung kepada pembolehubah Sambungan pangkalan data MySQL. Menetapkan set aksara kepada utf8 memastikan pelayan MySQL mengendalikan semua aksara Unicode dengan betul.
Jika anda menggunakan bahasa pengaturcaraan lain, semak dokumentasi untuk mengetahui cara menetapkan set aksara.
2.3 Ubah suai fail konfigurasi MySQL
Selain menetapkan set aksara apabila menyambung ke pangkalan data MySQL melalui aplikasi, anda juga boleh mengubah suai fail konfigurasi MySQL untuk menetapkan set aksara lalai.
Dalam sistem Linux, fail konfigurasi MySQL biasanya terletak di /etc/mysql/my.cnf. Dalam sistem Windows, fail konfigurasi MySQL biasanya terletak dalam C:Program FilesMySQLMySQL Server 5.7my.ini.
Dalam fail konfigurasi, tambah baris berikut untuk menetapkan set aksara lalai kepada utf8:
[client]
default-character-set=utf8
[ mysql]
default-character-set=utf8
[mysqld]
collation-server = utf8_unicode_ci
init-connect='SET NAMA utf8'
character-set-server= utf8
Selepas memulakan semula perkhidmatan MySQL, tetapan akan berkuat kuasa.
MySQL ialah sistem pengurusan pangkalan data hubungan yang berkuasa, tetapi apabila digunakan, anda mungkin menghadapi aksara yang bercelaru. Jika anda menghadapi masalah MySQL bercelaru, sila ikut kaedah yang diterangkan dalam artikel ini untuk menyelesaikannya. Dengan menetapkan set aksara MySQL, set aksara sambungan dan fail konfigurasi dengan betul, anda boleh memastikan MySQL mengendalikan pelbagai aksara Unicode dengan betul dan mengoptimumkan pengalaman pengguna aplikasi.
Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan kod mysql bercelaru. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!