Apakah yang perlu saya lakukan jika mysql tidak boleh menggunakan bahasa Cina?

PHPz
Lepaskan: 2023-04-21 10:18:35
asal
3792 orang telah melayarinya

MySQL ialah sistem pengurusan pangkalan data hubungan biasa Bagi kebanyakan pembangun, ia telah menjadi satu keperluan untuk kerja pembangunan. Walau bagaimanapun, apabila menggunakan MySQL, ramai pengguna mungkin menghadapi masalah "Tidak boleh menggunakan bahasa Cina".

Ketidakupayaan MySQL untuk menggunakan bahasa Cina terutamanya ditunjukkan dalam dua aspek: dalam satu pihak, aksara Cina yang kacau dalam antara muka baris arahan MySQL, dan sebaliknya, masalah penyimpanan dan pertanyaan aksara Cina dalam pangkalan data MySQL. Artikel ini akan meneroka kedua-dua aspek masalah ini secara terperinci dan menyediakan penyelesaian yang sepadan.

Aksara Cina yang kacau dalam antara muka baris arahan MySQL

Antara muka baris arahan MySQL ialah fungsi teras MySQL Pembangun boleh melaksanakan pelbagai arahan dalam antara muka ini. Walau bagaimanapun, ramai pengguna akan menemui aksara Cina yang kacau apabila menggunakan antara muka baris arahan MySQL. Ini terutamanya kerana set aksara lalai MySQL ialah "latin1" dan bukannya "utf8".

Berikut menerangkan cara menyelesaikan masalah bercelaru bahasa Cina dalam antara muka baris arahan MySQL.

Kaedah 1: Tentukan nama pengguna yang menyokong set aksara Cina dengan menambahkan parameter "-u" apabila menggunakan alat baris arahan "mysql".

Sebagai contoh, gunakan arahan berikut untuk menentukan nama pengguna "root" dan kata laluan "kata laluan":

mysql -u root -ppassword
Salin selepas log masuk

Kaedah 2: Gunakan arahan berikut untuk melihat lalai MySQL semasa set aksara:

mysql> show variables like '%character%';
Salin selepas log masuk

Arahan ini akan memaparkan tetapan set aksara semasa, di mana nilai tiga parameter "set_karakter_client", "set_karakter_sambungan" dan "set_karakter_hasil" semuanya "latin1".

Untuk menyelesaikan masalah bercelaru bahasa Cina dalam antara muka baris arahan, anda perlu menukar nilai tiga parameter ini kepada "utf8". Tujuan boleh dicapai melalui arahan berikut:

mysql> set character_set_client=utf8;
mysql> set character_set_connection=utf8;
mysql> set character_set_results=utf8;
Salin selepas log masuk

Kaedah 3: Ubah suai fail konfigurasi MySQL "my.cnf".

Dalam fail konfigurasi MySQL, cari tiga baris kod berikut:

character-set-client-handshake = FALSE 
character-set-server = utf8mb4 
collation-server = utf8mb4_unicode_ci
Salin selepas log masuk

Alih keluar komen bagi tiga baris kod ini dan tukar nilai kepada "utf8", seperti yang ditunjukkan di bawah :

character-set-client-handshake = FALSE 
character-set-server = utf8 
collation-server = utf8_general_ci
Salin selepas log masuk

Masalah storan dan pertanyaan aksara Cina dalam pangkalan data MySQL

Selain masalah bercelaru bahasa Cina dalam antara muka baris arahan, pangkalan data MySQL itu sendiri mungkin juga mempunyai storan aksara Cina dan masalah pertanyaan.

Sebagai contoh, apabila kami memasukkan beberapa data yang mengandungi aksara Cina ke dalam pangkalan data MySQL, kami mungkin menghadapi ralat berikut:

Incorrect string value: '\xE5\xBC\xA0\xE4\xB8\x89' for column 'name' at row 1
Salin selepas log masuk

Ini kerana set aksara lalai MySQL ialah "latin1 " bukannya "utf8". Jika anda ingin menyokong membuat jadual dan menyimpan data dalam bahasa Cina, anda perlu menetapkan set aksara struktur jadual kepada "utf8".

Berikut menerangkan cara menyelesaikan masalah penyimpanan aksara Cina dan pertanyaan dalam pangkalan data MySQL.

Kaedah 1: Selesaikan masalah dengan menentukan set aksara sebagai "utf8" semasa mencipta jadual.

Sebagai contoh, gunakan arahan berikut untuk mencipta jadual bernama "orang" dan tetapkan set aksara medan "nama" dalam jadual kepada "utf8":

CREATE TABLE person (
  id INT UNSIGNED NOT NULL AUTO_INCREMENT,
  name VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  PRIMARY KEY (id)
) DEFAULT CHARSET=utf8;
Salin selepas log masuk

Kaedah 2: Tetapkan set aksara lalai kepada "utf8" dalam fail konfigurasi MySQL supaya semua jadual menggunakan set aksara ini secara lalai.

Dalam fail konfigurasi MySQL, cari dua baris kod berikut:

character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
Salin selepas log masuk

Alih keluar komen dua baris kod ini dan tukar nilai kepada "utf8", seperti yang ditunjukkan di bawah :

character-set-server=utf8
collation-server=utf8_general_ci
Salin selepas log masuk

Untuk jadual sedia ada, anda boleh mengubah suai set aksara struktur jadual melalui arahan berikut:

ALTER TABLE tablename CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
Salin selepas log masuk

Kesimpulan

Sama ada dalam antara muka baris arahan atau pangkalan data MySQL, terdapat masalah set aksara Cina. Apabila anda menghadapi masalah seperti ini, sila selesaikan mengikut kaedah yang disediakan dalam artikel ini. Dengan melaraskan set aksara, anda akan dapat membuat pertanyaan dan menyimpan data Cina dengan mudah dan mengelakkan pelbagai masalah yang dihadapi dalam pemprosesan aksara Cina.

Atas ialah kandungan terperinci Apakah yang perlu saya lakukan jika mysql tidak boleh menggunakan bahasa Cina?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan