Cara yang berkesan untuk menyelesaikan masalah kod bercelaru apabila menyambungkan PHP ke MySQL

WBOY
Lepaskan: 2024-03-06 12:38:02
asal
783 orang telah melayarinya

有效解决 PHP 连接 MySQL 乱码困扰的方法

Cara menyelesaikan masalah sambungan PHP ke MySQL

MySQL ialah sistem pengurusan pangkalan data hubungan yang biasa digunakan, dan PHP ialah bahasa skrip sebelah pelayan yang popular, kedua-duanya sering digunakan dalam kombinasi untuk membangunkan tapak web dan aplikasi . Apabila menggunakan PHP untuk menyambung ke pangkalan data MySQL, kami sering menghadapi masalah data Cina yang bercelaru, yang membawa beberapa masalah kepada pembangun. Artikel ini akan memperkenalkan beberapa kaedah yang berkesan untuk menyelesaikan masalah sambungan PHP yang bercelaru ke MySQL, dan memberikan contoh kod khusus.

  1. Tetapan set aksara pangkalan data dan jadual

Pertama sekali, pastikan tetapan set aksara pangkalan data dan jadual adalah betul. Apabila mencipta pangkalan data, anda harus memilih set aksara yang sesuai, seperti utf8 atau utf8mb4. Juga nyatakan set aksara yang betul dan peraturan penyusunan semasa membuat jadual. Contohnya:

CREATE DATABASE my_database CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Salin selepas log masuk
CREATE TABLE my_table (
    id INT AUTO_INCREMENT,
    name VARCHAR(50) CHARACTER SET utf8mb4,
    PRIMARY KEY (id)
) ENGINE=InnoDB CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Salin selepas log masuk
  1. Tetapkan set aksara apabila menyambung ke pangkalan data

Apabila PHP menyambung ke pangkalan data MySQL, anda perlu menetapkan set aksara kepada utf8mb4 untuk memastikan penyimpanan dan pembacaan data yang betul. Anda boleh menambah penyataan berikut dalam kod untuk menyambung ke pangkalan data:

$mysqli = new mysqli("localhost", "username", "password", "my_database");
$mysqli->set_charset("utf8mb4");
Salin selepas log masuk
  1. Tetapkan set aksara apabila menanyakan pangkalan data

Sebelum melaksanakan pernyataan pertanyaan SQL, anda juga perlu menetapkan set aksara kepada utf8mb4. Anda boleh menambah pernyataan berikut sebelum melaksanakan pernyataan pertanyaan:

$mysqli->query("SET NAMES 'utf8mb4'");
Salin selepas log masuk
  1. Gunakan pengekodan UTF-8 semasa mengendalikan pangkalan data

Apabila memproses data Cina dalam PHP, anda perlu memastikan untuk menggunakan pengekodan UTF-8. Pengekodan UTF-8 digunakan apabila menyimpan data ke atau membaca data daripada pangkalan data. Contohnya:

$name = "张三";
$name = utf8_encode($name); // 将字符串转换为 UTF-8 编码
$result = $mysqli->query("INSERT INTO my_table (name) VALUES ('$name')");
Salin selepas log masuk
  1. Tetapkan pengekodan halaman apabila memaparkan data

Akhir sekali, apabila memaparkan data pada halaman web, anda juga mesti menetapkan pengekodan halaman kepada UTF-8 untuk memastikan data Cina dipaparkan dengan betul. Anda boleh menambah kod berikut pada pengepala HTML:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
Salin selepas log masuk

Melalui kaedah di atas, anda boleh menyelesaikan masalah bercelaru data Cina dengan berkesan yang berlaku apabila PHP menyambung ke pangkalan data MySQL. Mengikuti tetapan set aksara yang betul dan spesifikasi pengekodan boleh memastikan penyimpanan, pembacaan dan paparan data yang betul. Saya harap kandungan di atas dapat membantu semua.

Atas ialah kandungan terperinci Cara yang berkesan untuk menyelesaikan masalah kod bercelaru apabila menyambungkan PHP ke MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan