Rumah > Artikel > pembangunan bahagian belakang > Perkara yang perlu dilakukan jika aksara Cina UTF-8 bercelaru dipaparkan dalam PHP
Penyelesaian untuk memaparkan aksara Cina UTF-8 yang kacau dalam PHP: 1. Tambah "header("content-type:text/html;charset=utf-8");" di bahagian atas fail PHP; 2 , gunakan fungsi "mysql_connect" untuk menyambung ke pangkalan data, dan kemudian laksanakan "mysql_query('SET NAMA UTF8');" untuk menukar pengekodan kepada UTF8.
Sistem pengendalian untuk tutorial ini: Sistem Windows 10, PHP versi 8.1, komputer Dell G3.
Sebab PHP memaparkan utf-8 aksara Cina yang kacau
1 aksara Sebab utama ialah terdapat masalah dengan format pengekodan. Dalam proses menulis kod PHP, pembangun perlu memberi perhatian kepada format fail kod itu sendiri Sebagai contoh, Overpass perlu ditetapkan kepada format UTF-8. Jika ia tidak ditetapkan atau ditetapkan dengan salah, ia akan menyebabkan aksara bercelaru dalam output program PHP.
Selain itu, apabila menggunakan pertanyaan pangkalan data, penyerahan borang dan operasi lain dalam program PHP, anda juga perlu memberi perhatian sama ada pengekodan set aksara pangkalan data dan halaman web disatukan, jika tidak, ia juga akan menyebabkan masalah aksara Cina bercelaru.
2. Masalah paparan penyemak imbas
Masalah kod bercelaru mungkin juga disebabkan oleh penyemak imbas Apabila kaedah pengekodan penyemak imbas tidak konsisten dengan kaedah pengekodan halaman web, masalah aksara Cina yang kacau. juga berlaku. Pada ketika ini, pembangun boleh cuba menukar pengekodan penyemak imbas untuk menyelesaikan masalah.
3. Kaedah keluaran yang salah
Dalam program PHP, jika kaedah yang salah digunakan untuk mengeluarkan kandungan, masalah aksara Cina yang bercelaru juga akan berlaku. Kaedah keluaran ralat biasa termasuk menggunakan echo, print, print_r, var_dump dan fungsi output yang lain.
Penyelesaian kepada utf-8 aksara Cina bercelaru dipaparkan dalam php
1: Penyelesaian halaman bercampur HTML dan PHP
Cara mencampurkan HTML dan PHP, selain mengikut kaedah pertama, anda juga perlu menambah kod ini di bahagian atas fail PHP:
<?php header("content-type:text/html;charset=utf-8"); //设置编码 ?>
2 : Masalah bahasa Cina aksara bercelaru dalam halaman PHP tulen (data adalah statik)
Jika halaman PHP anda mempunyai aksara bercelaru, cuma tambah kod berikut pada permulaan halaman.
<?php header("content-type:text/html;charset=utf-8"); //设置编码 ?>
Tiga: PHP+Mysql kod Cina bercelaruMasalah
Selain mengikuti operasi ketiga, anda juga perlu menambah pengekodan pangkalan data sebelum membuat pertanyaan/mengubah suai/menambah data anda. Lebih-lebih lagi, perlu diperhatikan bahawa UTF8 di sini berbeza daripada yang sebelumnya, tidak ada garis mendatar di tengah.
Gunakan PHP untuk membaca dan menulis pangkalan data
Selepas menyambung ke pangkalan data:
[hide]$connection = mysql_connect($host_name, $host_user, $host_pass);
Tambah dua baris:
mysql_query("set character set 'utf8'");//读库 mysql_query("set names 'utf8'");//写库
dan anda boleh membaca dan menulis seperti biasa pangkalan data MYSQL.
<?php mysql_query('SET NAMES UTF8'); //接下来的就是查出数据或者修改,增加 ?>
Pengekodan UTF-8 hanyalah salah satu pengekodan Jika anda tidak mahu menggunakan pengekodan utf-8, anda juga boleh menggunakan pengekodan lain untuk digunakan Pada masa ini Dua pengekodan yang digunakan terutamanya dalam pembangunan laman web Cina ialah GB2312 dan UTF-8.
Satu perkara yang perlu diambil perhatian: mysql_query("set names 'coding'"); maka pengekodan mysql Ia adalah gb2312 Jika ia adalah utf-8, maka pengekodan mysql ialah utf8, supaya tidak akan ada aksara yang bercelaru semasa memasukkan atau mengambil data.
Atas ialah kandungan terperinci Perkara yang perlu dilakukan jika aksara Cina UTF-8 bercelaru dipaparkan dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!