Mengoutput tatasusunan dalam PHP adalah operasi yang sangat biasa, tetapi kadangkala terdapat masalah bahawa aksara Cina tidak dapat dipaparkan dengan betul Ini kerana set aksara lalai yang digunakan oleh PHP ialah ISO-8859-1, dan aksara Cina berada dalam ISO -8859- 1 tidak disokong. Artikel ini akan memperkenalkan cara menyelesaikan masalah bahawa tatasusunan keluaran PHP PHP tidak dapat dipaparkan secara normal.
1. Fahami pengekodan aksara
Sebelum menerangkan cara menyelesaikan masalah bahawa tatasusunan keluaran PHP bahasa Cina tidak dapat dipaparkan secara normal, mari kita fahami pengetahuan yang berkaitan tentang pengekodan aksara.
Kod ASCII ialah kaedah pengekodan yang menggunakan pengekodan binari 7-bit atau 8-bit untuk mewakili aksara. Kod ASCII mengandungi aksara seperti nombor, huruf, tanda baca, simbol kawalan, dsb., berjumlah 128 aksara. Kod ASCII ialah kaedah pengekodan terawal yang digunakan oleh komputer.
Pengekodan Unikod ialah skema pengekodan aksara yang mengandungi kebanyakan set aksara dunia, termasuk aksara Cina. Pengekodan Unikod menggunakan pengekodan 2-bait atau 4-bait, antaranya aksara Cina menggunakan pengekodan 3-bait.
Pengekodan UTF-8 ialah kaedah pengekodan Unikod panjang boleh ubah yang menggunakan 1-4 bait untuk mewakili aksara, di mana kod ASCII ialah diwakili oleh 1 bait, dan aksara Cina diwakili oleh 3 bait. Pengekodan UTF-8 digunakan secara meluas dalam pembangunan web.
2. Selesaikan masalah bahawa tatasusunan keluaran PHP bahasa Cina tidak dapat dipaparkan seperti biasa
Setelah memahami pengetahuan yang berkaitan tentang pengekodan aksara, mari selesaikan masalah bahawa tatasusunan keluaran PHP bahasa Cina tidak dapat dipaparkan secara normal. Penyelesaiannya adalah seperti berikut:
Tukar pengekodan fail PHP kepada pengekodan UTF-8, yang boleh dicapai dengan menambah kod berikut di permulaan fail PHP:
header('Content-Type:text/html;charset=utf-8');
Dengan cara ini, fail PHP akan dikeluarkan menggunakan pengekodan UTF-8 dan aksara Cina boleh dipaparkan secara normal.
Jika mengubah suai pengekodan fail PHP tidak dapat menyelesaikan masalah, anda boleh cuba mengubah suai kaedah pengekodan Aksara Cina dalam tatasusunan. Untuk menukar kaedah pengekodan aksara Cina daripada ISO-8859-1 kepada UTF-8, anda boleh menggunakan kod berikut untuk mencapainya:
$new_array = array(); foreach($old_array as $key=>$value){ if(is_string($value)){ $new_array[$key] = mb_convert_encoding($value, "UTF-8", "ISO-8859-1"); } else{ $new_array[$key] = $value; } }
Dalam kod di atas, gunakan foreach untuk menggelung melalui tatasusunan untuk menentukan sama ada elemen tatasusunan adalah jenis rentetan Jika ya, tukar kaedah pengekodan elemen daripada ISO-8859-1 kepada UTF-8, dan simpan elemen yang diubah suai dalam tatasusunan baharu tatasusunan. Akhir sekali, keluarkan tatasusunan baharu.
Jika kedua-dua kaedah pertama tidak menyelesaikan masalah, anda boleh cuba menetapkan pengekodan UTF-8 dalam halaman HTML . Tetapkan pengekodan UTF-8 dengan menambahkan kod berikut pada kepala halaman HTML:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Dengan cara ini, aksara Cina boleh dipaparkan secara normal dalam halaman HTML.
Ringkasan
Mengoutput tatasusunan dalam PHP adalah operasi yang sangat biasa, tetapi kadangkala terdapat masalah bahawa bahasa Cina tidak dapat dipaparkan dengan betul. Ini kerana set aksara lalai yang digunakan oleh PHP ialah ISO-8859-1 dan aksara Cina tidak disokong dalam ISO-8859-1. Untuk menyelesaikan masalah ini, kami boleh mengubah suai pengekodan fail PHP, mengubah suai pengekodan aksara Cina dalam tatasusunan, atau menetapkan pengekodan UTF-8 dalam halaman HTML. Melalui kaedah di atas, anda boleh menyelesaikan masalah bahawa tatasusunan keluaran Cina PHP tidak dapat dipaparkan secara normal.
Atas ialah kandungan terperinci Tatasusunan keluaran PHP Bahasa Cina tidak boleh dipaparkan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!