Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Sebab dan penyelesaian untuk aksara bercelaru yang disimpan dalam maklumat PHP Cina dalam pangkalan data

Sebab dan penyelesaian untuk aksara bercelaru yang disimpan dalam maklumat PHP Cina dalam pangkalan data

王林
王林asal
2024-03-25 10:00:051169semak imbas

Sebab dan penyelesaian untuk aksara bercelaru yang disimpan dalam maklumat PHP Cina dalam pangkalan data

Tajuk: Sebab dan penyelesaian untuk maklumat Cina bercelaru yang disimpan dalam pangkalan data dalam PHP

Dalam proses menggunakan PHP untuk membangunkan laman web, kami sering menghadapi masalah maklumat Cina bercelaru disimpan dalam pangkalan data. Masalah ini disebabkan oleh pelbagai faktor, termasuk tetapan pengekodan pangkalan data, tetapan pengekodan PHP, tetapan pengekodan halaman, dll. Dalam artikel ini, kami akan memperkenalkan secara terperinci sebab mengapa maklumat PHP Cina disimpan dalam pangkalan data yang bercelaru, menyediakan penyelesaian dan melampirkan contoh kod tertentu.

1. Analisis punca aksara bercelaru

  1. Tetapan pengekodan pangkalan data yang salah: Tetapan pengekodan jadual dalam pangkalan data adalah tidak betul, mengakibatkan aksara bercelaru apabila menyimpan maklumat bahasa Cina.
  2. Tetapan pengekodan PHP yang tidak konsisten: Tetapan pengekodan fail dan pangkalan data PHP adalah tidak konsisten, mengakibatkan maklumat bahasa Cina bercelaru semasa penghantaran.
  3. Ralat tetapan pengekodan halaman: Tetapan pengekodan halaman web tidak konsisten dengan tetapan pengekodan pangkalan data dan maklumat bahasa Cina kelihatan bercelaru apabila dipaparkan pada halaman web.

2. Pelan pemprosesan kod bercelaru

1. Tetapan pengekodan pangkalan data

Pertama sekali, pastikan tetapan pengekodan jadual dalam pangkalan data adalah konsisten dengan format pengekodan data. Format pengekodan jadual boleh diubah suai kepada UTF-8 melalui pernyataan SQL berikut:

ALTER TABLE table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

2 tetapan pengekodan PHP

Dalam fail PHP, tetapkan format pengekodan untuk memastikan bahawa data tidak akan bercelaru semasa penghantaran. Anda boleh menambah kod berikut pada permulaan fail PHP:

header('Content-Type: text/html; charset=utf-8');

3. Tetapan pengekodan halaman

Tambah tag meta berikut di kepala halaman web untuk menentukan bahawa format pengekodan halaman ialah UTF-8:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

3. Contoh kod

Berikut ialah Contoh kod PHP ringkas menunjukkan cara menyimpan maklumat bahasa Cina dengan betul ke dalam pangkalan data:

<?php
// 连接数据库
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test_db";

$conn = new mysqli($servername, $username, $password, $dbname);

// 设置字符编码
$conn->set_charset("utf8");

// 处理中文信息
$name = "张三";
$age = 25;

// 插入数据
$sql = "INSERT INTO users (name, age) VALUES ('$name', $age)";
if ($conn->query($sql) === TRUE) {
    echo "新记录插入成功";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>

Dengan menetapkan format pengekodan pangkalan data, fail PHP dan halaman web dengan betul, anda boleh dengan berkesan elakkan masalah aksara bercelaru apabila maklumat Cina disimpan dalam pangkalan data. Semoga kandungan di atas dapat membantu anda!

Atas ialah kandungan terperinci Sebab dan penyelesaian untuk aksara bercelaru yang disimpan dalam maklumat PHP Cina dalam pangkalan data. 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