Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Perkara yang perlu dilakukan jika aksara Cina UTF-8 bercelaru dipaparkan dalam PHP

Perkara yang perlu dilakukan jika aksara Cina UTF-8 bercelaru dipaparkan dalam PHP

小老鼠
小老鼠asal
2023-04-24 14:01:493509semak imbas

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.

Perkara yang perlu dilakukan jika aksara Cina UTF-8 bercelaru dipaparkan dalam PHP

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 &#39;utf8&#39;");//读库
mysql_query("set names &#39;utf8&#39;");//写库

dan anda boleh membaca dan menulis seperti biasa pangkalan data MYSQL.

<?php
 mysql_query(&#39;SET NAMES UTF8&#39;);
 //接下来的就是查出数据或者修改,增加
?>

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!

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
Artikel sebelumnya:Apakah maksud ralat php500?Artikel seterusnya:Apakah maksud ralat php500?