Dalam pangkalan data MySQL, kadangkala didapati pengekodan fail bercelaru. Isu ini boleh disebabkan oleh beberapa faktor, tetapi kebanyakan masa, isu itu boleh dibetulkan dengan beberapa pembetulan mudah. Artikel ini akan memperkenalkan beberapa kaedah untuk menyelesaikan masalah fail MySQL yang bercelaru.
1. Semak pengekodan fail
Sebelum menyelesaikan masalah bercelaru fail MySQL, kita perlu terlebih dahulu menentukan format pengekodan fail asal. Di bawah sistem Linux, kita boleh menggunakan arahan fail untuk melihat pengekodan fail Contohnya, jika kita ingin melihat format pengekodan fail.txt, kita boleh menggunakan arahan berikut:
file -i file.txt
Ini. arahan akan mengeluarkan hasil berikut:
file.txt: text/plain; charset=utf-8
Hasil ini memberitahu kami bahawa format pengekodan fail file.txt ialah utf-8. Di bawah sistem Windows, kami boleh melihat format pengekodan fail melalui editor seperti Notepad++.
2. Ubah suai pengekodan pangkalan data MySQL
Dalam MySQL, format pengekodan pangkalan data ditakrifkan melalui set aksara dan peraturan pengumpulan. Jika pengekodan fail anda tidak sepadan dengan pengekodan pangkalan data, fail itu akan bercelaru. Kami boleh mengubah suai pengekodan pangkalan data MySQL melalui langkah berikut:
sudo vim /etc/mysql/my.cnf
character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci
sudo systemctl restart mysql
Selepas memulakan semula perkhidmatan, Pengekodan pangkalan data MySQL telah ditukar kepada utf8mb4.
3. Ubah suai pengekodan jadual data MySQL
Jika pangkalan data MySQL anda telah mencipta dan menyimpan data, masalah fail bercelaru mungkin disebabkan oleh ketidakpadanan dalam format pengekodan jadual . Kami boleh mengubah suai pengekodan jadual data MySQL melalui kaedah berikut:
mysql -u root -p
use yourdatabase;
alter table yourtable convert to character set utf8mb4 collate utf8mb4_unicode_ci;
Anda perlu menggantikan pangkalan data dan jadual anda dengan nama sebenar.
4 Ubah suai pengekodan sambungan klien MySQL
Jika pangkalan data dan jadual data anda telah menggunakan format pengekodan yang betul, tetapi pengekodan sambungan klien MySQL yang anda gunakan tidak sepadan dengannya, Ini akan membawa kepada fail bercelaru. Kami boleh mengubah suai pengekodan sambungan klien MySQL melalui kaedah berikut:
sudo vim /etc/mysql/my.cnf
[client] default-character-set=utf8mb4
4 Ubah suai format pengekodan fail
Jika tiada kaedah di atas dapat menyelesaikan masalah fail MySQL yang bercelaru, maka kita perlu mempertimbangkan untuk mengubah suai format pengekodan fail sendiri. Di bawah sistem Linux, kita boleh menggunakan arahan iconv untuk menukar. Contohnya, jika kita ingin menukar fail.txt yang dikodkan gb18030 kepada pengekodan utf-8, kita boleh menggunakan arahan berikut:
iconv -f gb18030 -t utf-8 file.txt -o file_utf8.txt
Arahan ini akan menukar fail file.txt daripada pengekodan gb18030 kepada utf- 8 pengekodan , dan keluarkan ke fail file_utf8.txt.
Ringkasan
Di atas adalah beberapa kaedah untuk menyelesaikan masalah fail MySQL yang bercelaru. Semasa melakukan operasi di atas, pastikan anda membuat sandaran data anda untuk mengelakkan kehilangan data yang tidak boleh dipulihkan.
Atas ialah kandungan terperinci fail mysql aksara bercelaru. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!