Bagaimana untuk menyelesaikan aksara bercelaru pertanyaan Cina mysql

WBOY
Lepaskan: 2023-06-03 08:03:20
ke hadapan
1684 orang telah melayarinya

Punca aksara bercelaru dalam pertanyaan Bahasa Cina MySQL

Set aksara lalai MySQL ialah LATIN1, dan UTF-8 ialah format pengekodan yang lebih meluas digunakan . Jika kami menggunakan pengekodan UTF-8 untuk menyimpan data Cina, tetapi menggunakan pengekodan LATIN1 semasa membuat pertanyaan, maka kami akan mempunyai hasil pertanyaan yang kacau.

Dalam MySQL, kami boleh menyelesaikan masalah pertanyaan bahasa Cina yang bercelaru dengan cara berikut:

  1. Semak pengekodan pangkalan data dan pengekodan jadual

Kita perlu terlebih dahulu menyemak sama ada pengekodan pangkalan data dan jadual adalah betul dan memastikan ia konsisten dengan format pengekodan apabila data disimpan. Kita boleh menanyakan format pengekodan pangkalan data dan jadual melalui pernyataan SQL berikut:

SHOW CREATE TABLE table_name;
SHOW VARIABLES LIKE 'character_set_database';
Salin selepas log masuk

Dalam hasil pertanyaan, kita boleh melihat format pengekodan pangkalan data dan jadual, serta set aksara pelayan dan klien, dan aksara set sambungan semasa sepadan.

  1. Tetapkan pengekodan sambungan MySQL

Anda boleh menetapkan format pengekodan sambungan klien MySQL kepada UTF-8 melalui pernyataan tetapan MySQL CONFIG . Untuk mengelakkan aksara bercelaru semasa membaca data. Kita boleh menggunakan arahan berikut apabila menyambung ke pelayan MySQL:

mysql --default-character-set=utf8 -u username -p
Salin selepas log masuk

Arahan ini akan secara automatik menetapkan format pengekodan klien kepada UTF-8 apabila membuat sambungan dengan pelayan MySQL untuk memastikan ia tidak muncul semasa membaca data aksara bercelaru.

  1. Ubah suai fail konfigurasi MySQL

Jika kita menggunakan MySQL 5.5 atau lebih tinggi, dalam fail konfigurasi my.cnf, kita boleh Tetapkan format pengekodan pelayan MySQL kepada UTF-8 melalui tetapan berikut:

[client]
default-character-set=utf8

[mysqld]
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_general_ci
Salin selepas log masuk

Dalam fail konfigurasi ini, kami boleh menetapkan format pengekodan lalai klien dan pelayan kepada UTF-8 untuk memastikan bahawa semasa membaca data Tidak watak bercelaru akan muncul.

  1. Tetapkan pengekodan medan MySQL kepada UTF-8

Jika sudah terdapat beberapa data dalam pangkalan data kami yang menggunakan format pengekodan yang salah, kami boleh menetapkan format pengekodan semua medan dalam pangkalan data kepada UTF-8 melalui arahan berikut:

ALTER DATABASE database_name CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
Salin selepas log masuk

Perintah di atas akan mengubah suai semua format pengekodan pangkalan data dan jadual kepada UTF-8 untuk memastikan bahawa semasa membaca data Tiada aksara bercelaru akan muncul.

Dalam penggunaan sebenar, kita boleh memilih penyelesaian yang berbeza mengikut situasi tertentu. Apabila menyelesaikan masalah aksara bercelaru pertanyaan Cina, kita perlu memberi perhatian kepada fakta bahawa penukaran antara pelbagai set aksara menggunakan kecekapan, jadi kita perlu membuat pertukaran antara kecekapan dan ketepatan, dan mendasarkannya pada keperluan perniagaan sebenar kita. Pilih penyelesaian yang paling sesuai.

Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan aksara bercelaru pertanyaan Cina mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!