Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menyelesaikan aksara Cina yang kacau dalam pangkalan data yang dipaparkan oleh PHP

Bagaimana untuk menyelesaikan aksara Cina yang kacau dalam pangkalan data yang dipaparkan oleh PHP

PHPz
PHPzasal
2023-04-21 09:07:59985semak imbas

Apabila menggunakan PHP untuk memanggil pangkalan data semasa pembangunan, kami sering menghadapi masalah aksara Cina yang kacau. Masalah ini biasanya disebabkan oleh set aksara pangkalan data yang berbeza daripada set aksara PHP atau PHP tidak menghuraikan aksara Cina dengan betul dalam pangkalan data. Dalam artikel ini, kami akan memperkenalkan cara menyelesaikan masalah aksara Cina yang bercelaru dalam PHP.

1. Konfigurasikan set aksara pangkalan data

1.1 Lihat set aksara pangkalan data
Masukkan arahan berikut pada antara muka baris arahan untuk melihat set aksara semasa pangkalan data:

show variables like 'character%';

1.2 Tetapkan set aksara pangkalan data
Untuk menyelesaikan masalah aksara Cina yang kacau, anda perlu menetapkan set aksara pangkalan data kepada utf8. Dalam mysql, anda boleh menetapkannya dengan arahan berikut:

ALTER DATABASE `database_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

di mana, database_name ialah nama pangkalan data yang anda ingin tetapkan. Di sini set aksara lalai pangkalan data ditetapkan kepada utf8. Dalam MySQL, utf8 ialah set aksara yang paling biasa digunakan dan boleh menyokong aksara dalam kebanyakan bahasa.

1.3 Tetapkan set aksara jadual data
Dalam mysql, setiap jadual data juga boleh menetapkan set aksara secara berasingan. Anda boleh menetapkan set aksara jadual kepada utf8 melalui arahan berikut:

ALTER TABLE `table_name` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

di mana, table_name ialah nama jadual data yang anda ingin tetapkan. Di sini set aksara jadual data ditetapkan kepada utf8. Dengan cara ini, semua jadual dalam pangkalan data akan menggunakan set aksara utf8.

2. Tetapkan set aksara php

2.1 Tetapkan set aksara lalai php
Buka fail php.ini, kemudian cari parameter "mbstring.language" dan tetapkan nilainya kepada "CN". Seperti yang ditunjukkan di bawah:

mbstring.language=CN

2.2 Tetapkan set aksara masa jalan php
Dalam php, anda juga perlu menetapkan set aksara masa jalan. Anda boleh menetapkan set aksara PHP melalui kod berikut:

header('content-type:text/html;charset=utf-8');

Kod ini akan menetapkan set aksara output PHP kepada UTF-8.

3. Memanggil aksara Cina dalam pangkalan data

3.1 Set aksara pautan pangkalan data
Dalam php, anda perlu menetapkan set aksara apabila memaut ke pangkalan data.

$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die('连接数据库失败!');
mysql_select_db($dbname, $conn);
mysql_query("SET NAMES 'utf8'");

Antaranya, $dbhost, $dbuser, $dbpass, $dbname ialah alamat hos, pengguna, kata laluan dan nama pangkalan data pangkalan data masing-masing. Di sini kami menetapkan set aksara pangkalan data kepada utf8 melalui fungsi mysql_query().

3.2 Tetapkan set aksara pertanyaan
Jika terdapat aksara Cina dalam pertanyaan, anda perlu menetapkan set aksara pertanyaan. Anda boleh menetapkan set aksara pertanyaan melalui kod berikut:

mysql_query("set character_set_client=utf8");
mysql_query("set character_set_results=utf8");
  1. Keputusan ujian
    Selepas mengkonfigurasi set aksara pangkalan data dan set aksara php, kami boleh menguji bahasa Cina dalam pangkalan data. Anda boleh mencipta jadual dan memasukkan aksara Cina ke dalamnya, dan kemudian melihatnya melalui kod berikut:
$result = mysql_query("SELECT * FROM table_name");
while($row = mysql_fetch_array($result)){
    echo $row['field_name'];
}

Dengan cara ini, aksara Cina boleh dipaparkan dengan betul pada halaman.

5. Ringkasan

Melalui langkah di atas, kita boleh menyelesaikan masalah aksara Cina yang kacau dalam pangkalan data paparan PHP. Untuk memaparkan aksara Cina dengan betul, anda perlu menetapkan set aksara pangkalan data dan set aksara PHP kepada utf8, dan menetapkan set aksara pertanyaan dan set aksara pautan dengan betul. Dengan cara ini, aksara Cina boleh digunakan dalam pembangunan dan dipaparkan dengan betul.

Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan aksara Cina yang kacau dalam pangkalan data yang dipaparkan oleh 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