Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk menyelesaikan aksara Cina mysql aksara bercelaru

Bagaimana untuk menyelesaikan aksara Cina mysql aksara bercelaru

PHPz
PHPzasal
2023-04-20 10:10:061228semak imbas

Dalam beberapa tahun kebelakangan ini, pangkalan data MySQL telah menjadi sistem pengurusan pangkalan data pilihan banyak syarikat, terutamanya dalam bidang Internet, malah kekerapan penggunaannya boleh dikatakan sangat tinggi. Walau bagaimanapun, walaupun pangkalan data peringkat tinggi seperti MySQL tidak dapat mengelakkan masalah yang tidak dapat dijelaskan. Salah satu masalah biasa ialah masalah aksara Cina yang bercelaru.

Masalah bercelaru aksara Cina bermaksud bahawa selepas kami mengimport data yang menyimpan aksara Cina ke dalam pangkalan data MySQL, dan apabila kami membuka halaman web yang berkaitan atau menanyakan data yang berkaitan, aksara Cina yang dipaparkan pada halaman itu bercelaru, menyebabkan keseluruhan halaman atau data menjadi kacau bilau.

Punca masalah ini ialah set aksara lalai yang digunakan oleh pangkalan data MySQL ialah Latin1 dan bukannya UTF-8 Akibatnya, aksara Cina dalam fail teks yang diimport tidak boleh ditukar dengan betul kepada UTF-. 8 pengekodan.

Jadi, bagaimana untuk menyelesaikan masalah aksara Cina bercelaru dalam MySQL? Berikut ialah beberapa penyelesaian:

  1. Ubah suai set aksara lalai MySQL kepada UTF-8

Dalam fail konfigurasi MySQL my.cnf, cari [client] dan [mysqld ] Dua bahagian, dan ubah suai set aksara kepada utf8mb4. Contohnya:

[client]
default-character-set=utf8mb4

[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode 🎜 >

Selepas memulakan semula perkhidmatan MySQL, semua jadual data dan data akan menggunakan set aksara utf8mb4.

    Gunakan arahan "set names 'utf8'" untuk menetapkan semula set aksara sebelum mengimport data
Gunakan arahan "set names 'utf8'" sebelum melaksanakan operasi pangkalan data Tetapkan pengekodan aksara MySQL kepada UTF-8, contohnya:

mysql> set names 'utf8';

Operasi ini akan menukar data dengan betul dalam pernyataan SQL berikutnya kepada Pengekodan UTF-8 untuk mengelakkan watak bercelaru.

    Tentukan set aksara secara manual dalam kod
Apabila menyambung ke pangkalan data MySQL, tentukan set aksara secara manual dalam item konfigurasi. Sebagai contoh, apabila menggunakan PHP untuk menyambung ke MySQL, anda boleh menggunakan kod berikut:

$conn = mysqli_connect($servername, $username, $password, $dbname);

mysqli_set_charset($conn, "utf8" );

Menentukan set aksara secara manual boleh memastikan bahawa pangkalan data MySQL boleh menukarnya dengan betul kepada set aksara sasaran apabila membaca data, mengelakkan aksara bercelaru.

Ringkasnya, terdapat banyak cara kita boleh menyelesaikan masalah aksara Cina yang bercelaru dalam MySQL. Apabila set aksara lalai MySQL bukan UTF-8, menukar set aksara lalai kepada UTF-8 ialah penyelesaian yang paling teliti. Di samping itu, kami juga boleh menetapkan semula set aksara sebelum mengimport data, atau secara manual menentukan set aksara dalam kod untuk mengelakkan masalah MySQL memaparkan aksara Cina yang kacau, dengan itu memastikan kebolehbacaan dan ketepatan data.

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

Kenyataan:
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