Dengan perkembangan Internet, aplikasi pangkalan data menjadi semakin meluas. PHP ialah bahasa popular yang digunakan untuk membangunkan laman web dinamik, yang selalunya memerlukan penyimpanan data dalam pangkalan data. Walau bagaimanapun, apabila menggunakan PHP untuk menambah aksara Cina, masalah aksara Cina bercelaru sering berlaku. Dalam artikel ini, kita akan membincangkan punca masalah bercelaru Cina menambah pangkalan data dalam PHP dan cara menyelesaikan masalah ini.
1. Punca aksara Cina bercelaru
1 ralat tetapan pengekodan pangkalan data
Dalam pangkalan data seperti MySQL, pengekodan lalai ialah pengekodan Latin1 dan julat aksaranya secara relatifnya Lebih kecil, tidak menyokong aksara Cina. Jika tetapan pengekodan pangkalan data adalah salah, contohnya, jika pengekodan ditetapkan kepada pengekodan Latin1, maka apabila kami menambah aksara Cina pada pangkalan data, aksara bercelaru akan muncul.
2. Pengekodan kod PHP
Dalam kod PHP, jika pengekodan tidak ditetapkan secara seragam kepada UTF-8, maka apabila kita menambah aksara Cina pada pangkalan data, aksara yang bercelaru akan muncul. Oleh kerana PHP menggunakan pengekodan ISO-8859-1 secara lalai, kami perlu menukarnya kepada pengekodan UTF-8 dalam kod.
3. Pengekodan penyemak imbas
Jika pengekodan ditetapkan kepada UTF-8 dalam kod kami, tetapi pengekodan penyemak imbas ditetapkan kepada GBK, maka apabila kami menambah aksara Cina pada pangkalan data , aksara bercelaru akan muncul.
2. Bagaimana untuk menyelesaikan masalah aksara Cina yang bercelaru
1. Semak pengekodan pangkalan data
Kami perlu menyemak sama ada pengekodan pangkalan data adalah betul tetapan adalah salah, kita perlu menukarnya Dikodkan kepada UTF-8.
Anda boleh menggunakan arahan berikut untuk melihat pengekodan pangkalan data:
tunjukkan pembolehubah seperti 'character%';
Jika pengekodan pangkalan data bukan UTF8, anda boleh menggunakan arahan berikut untuk mengubah suai pengekodan pangkalan data:
UBAH PANGKALAN DATA database_name
SET KARAKTER utf8 COLLATE utf8_general_ci;
2. Ubah suai pengekodan kod PHP
Kami perlu menetapkan pengekodan kepada Pengekodan UTF-8 dalam kod PHP, anda boleh menggunakan Kod berikut:
header('Content-Type: text/html;charset=utf-8');
3 pengekodan penyemak imbas
Kami perlu menetapkan pengekodan penyemak imbas dalam HTML Tetapkan pengekodan dalam pengepala seperti berikut:
Jika anda menggunakan phpMyAdmin, anda juga boleh menetapkannya dalam tetapan phpMyAdmin Pengekodan disatukan kepada UTF-8.
Ringkasan:
Aksara bercelaru Cina yang ditambahkan pada pangkalan data oleh PHP adalah masalah biasa, dan terdapat banyak sebab untuknya. Kita perlu menyemak tiga aspek pengekodan pangkalan data, pengekodan kod PHP dan pengekodan penyemak imbas, serta membuat pelarasan dan pembetulan yang sepadan. Hanya dengan cara ini kami boleh menyelesaikan masalah aksara Cina yang kacau-bilau yang ditambahkan pada pangkalan data oleh PHP dan menjadikan tapak web kami berjalan lebih stabil dan cekap.
Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan aksara Cina yang kacau apabila menambah pangkalan data dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!