Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menyelesaikan aksara kacau yang dipaparkan dalam php
Dalam proses menggunakan PHP untuk membangunkan tapak web, kami sering menghadapi aksara Cina yang kacau. Aksara Cina yang kacau-bilau bukan sahaja akan menjejaskan estetika tapak web, tetapi juga menjejaskan pengalaman pengguna, jadi ia perlu diselesaikan tepat pada masanya. Artikel ini akan memperkenalkan penyelesaian kepada PHP yang memaparkan aksara bercelaru.
Dalam fail konfigurasi PHP, set aksara lalai mesti ditetapkan kepada UTF-8. Buka fail php.ini dan cari kandungan berikut:
;*** Charset *** ; default_charset ; Default character set for new content types ; Default Value: "" ;mime_magic.debug = Off
Tukar "default_charset" kepada "UTF-8":
;*** Charset *** ; default_charset ; Default character set for new content types ; Default Value: "" default_charset = "UTF-8" ;mime_magic.debug = Off
Setelah selesai, simpan dan mulakan semula perkhidmatan apache .
PHP juga menyediakan fungsi untuk menetapkan maklumat pengepala HTTP untuk menyelesaikan masalah aksara Cina yang kacau. Tambahkan kod berikut pada permulaan fail PHP:
header("Content-type: text/html; charset=utf-8");
Fungsi baris kod ini adalah untuk menetapkan maklumat pengepala HTTP dan memberitahu pelayar bahawa format pengekodan halaman semasa ialah UTF- 8.
Apabila menggunakan PHP untuk menyambung ke pangkalan data, anda juga perlu menetapkan set aksara pangkalan data kepada UTF-8 untuk mengelakkan aksara bercelaru apabila membaca data. Anda boleh menambah kod berikut pada kod untuk mewujudkan sambungan pangkalan data:
mysqli_set_charset($conn,"utf8");
di mana $conn ialah nama pembolehubah untuk menyambung ke pangkalan data.
Jika jadual pangkalan data yang dibuat mengandungi medan Cina, ia juga perlu untuk menetapkan pengekodan medan dalam jadual pangkalan data kepada UTF-8. Anda boleh menambah kod berikut pada pernyataan SQL yang mencipta jadual pangkalan data:
CREATE TABLE `table_name` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
Antaranya, format pengekodan medan nama ialah utf8_unicode_ci.
PHP juga menyediakan beberapa fungsi yang biasa digunakan untuk mengendalikan aksara bercelaru bahasa Cina, seperti:
$new_str = iconv("gb2312","utf-8", $str);
Fungsi baris kod ini adalah untuk menukar $Str daripada pengekodan GB2312 kepada pengekodan UTF-8.
$new_str = mb_convert_encoding($str,"utf-8","gb2312");
Fungsi baris kod ini adalah untuk menukar $Str daripada pengekodan GB2312 kepada pengekodan UTF-8.
Ringkasnya, terdapat lebih daripada satu cara untuk menyelesaikan masalah aksara Cina yang bercelaru dalam PHP Anda perlu memilih berdasarkan situasi tertentu untuk mencapai penyelesaian terbaik. Pada masa yang sama, dalam pembangunan harian, anda juga perlu memberi perhatian kepada spesifikasi penulisan kod dan tetapan set aksara untuk mengelakkan berlakunya aksara Cina yang kacau.
Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan aksara kacau yang dipaparkan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!