Rumah >pembangunan bahagian belakang >tutorial php >Petua dan amalan untuk mengendalikan aksara Cina bercelaru dalam pangkalan data dengan PHP

Petua dan amalan untuk mengendalikan aksara Cina bercelaru dalam pangkalan data dengan PHP

WBOY
WBOYasal
2024-03-27 17:21:041026semak imbas

Petua dan amalan untuk mengendalikan aksara Cina bercelaru dalam pangkalan data dengan PHP

PHP ialah bahasa pengaturcaraan bahagian belakang yang digunakan secara meluas dalam pembangunan laman web Ia mempunyai fungsi operasi pangkalan data yang kuat dan sering digunakan untuk berinteraksi dengan pangkalan data seperti MySQL. Walau bagaimanapun, disebabkan kerumitan pengekodan aksara Cina, masalah sering timbul apabila berurusan dengan aksara Cina bercelaru dalam pangkalan data. Artikel ini akan memperkenalkan kemahiran dan amalan PHP dalam mengendalikan aksara bercelaru bahasa Cina dalam pangkalan data, termasuk punca biasa aksara bercelaru, penyelesaian dan contoh kod khusus.

Punca biasa aksara bercelaru

  1. Tetapan set aksara pangkalan data yang salah: Set aksara yang betul perlu dipilih semasa mencipta pangkalan data, seperti utf8 atau utf8mb4, jika tidak, ia akan menyebabkan aksara Cina bercelaru.
  2. Set aksara tidak dinyatakan apabila PHP bersambung ke pangkalan data: Set aksara yang betul perlu ditetapkan semasa menyambung ke pangkalan data, jika tidak, data yang dikembalikan oleh pangkalan data mungkin menjadi kucar-kacir.
  3. Set aksara pangkalan data, jadual atau medan tidak seragam: Jika set aksara jadual atau medan dalam pangkalan data tidak seragam, aksara bercelaru akan muncul apabila memasukkan atau menanyakan data.

Penyelesaian

  1. Tetapkan set aksara pangkalan data kepada utf8 atau utf8mb4: Apabila mencipta pangkalan data, gunakan pernyataan SQL berikut untuk menetapkan set aksara:
CREATE DATABASE dbname DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  1. Nyatakan set aksara apabila menyambung ke pangkalan data: kepada pangkalan data dalam PHP, anda perlu menggunakan Kod berikut menentukan set aksara:
$mysqli = new mysqli("localhost", "username", "password", "dbname");
$mysqli->set_charset("utf8");
  1. Tetapkan set aksara jadual dan medan kepada utf8 atau utf8mb4: Apabila mencipta jadual atau medan, gunakan pernyataan SQL berikut untuk menetapkan set aksara:
CREATE TABLE tablename (
    id INT AUTO_INCREMENT,
    content TEXT CHARACTER SET utf8mb4,
    PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

Contoh kod khusus

Soal pangkalan data data Cina

$mysqli = new mysqli("localhost", "username", "password", "dbname");
$mysqli->set_charset("utf8");

$query = $mysqli->query("SELECT * FROM tablename WHERE id=1");
while ($row = $query->fetch_assoc()) {
    echo $row['content'];
}

Masukkan data Cina ke dalam pangkalan data

$mysqli = new mysqli("localhost", "username", "password", "dbname");
$mysqli->set_charset("utf8");

$content = "中文内容";
$mysqli->query("INSERT INTO tablename (content) VALUES ('" . $mysqli->real_escape_string($content) . "')");

Melalui contoh kod di atas, kita dapat melihat bahawa kunci untuk menangani masalah bercelaru bahasa Cina dalam pangkalan data dalam PHP adalah untuk menetapkan set aksara pangkalan data dengan betul, menentukan set aksara apabila menyambung, dan mengekalkan jadual dan Set aksara medan adalah konsisten. Hanya dengan cara ini masalah aksara Cina yang kacau-bilau dapat dielakkan dengan berkesan dan ketepatan serta integriti data terjamin.

Ringkasnya, saya harap artikel ini dapat membantu pembaca menyelesaikan masalah aksara Cina yang kacau dalam pemprosesan pangkalan data PHP dan meningkatkan kecekapan dan kualiti pembangunan laman web. Selamat berprogram semua!

Atas ialah kandungan terperinci Petua dan amalan untuk mengendalikan aksara Cina bercelaru dalam pangkalan data dengan 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