Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk menyelesaikan masalah aksara bercelaru apabila data php disimpan ke pangkalan data

Bagaimana untuk menyelesaikan masalah aksara bercelaru apabila data php disimpan ke pangkalan data

PHPz
Lepaskan: 2023-04-06 10:38:02
asal
614 orang telah melayarinya

Dalam proses pembangunan PHP, menyimpan data ke pangkalan data selalunya terlibat. Walau bagaimanapun, kadangkala akan terdapat aksara yang bercelaru apabila menyimpan data ke pangkalan data. Artikel ini akan menumpukan pada masalah aksara bercelaru apabila menyimpan data PHP ke pangkalan data, serta penyelesaiannya.

1. Punca masalah

Apabila PHP mengemas kini pangkalan data MySQL, jika set aksara PHP dan MySQL tidak konsisten, aksara bercelaru mungkin berlaku. Untuk menangani isu ini, set aksara yang betul perlu dinyatakan dalam kod.

2. Penyelesaian

  1. Ubah suai set aksara pangkalan data MySQL
  • Kaedah 1: Ubah suai set aksara dalam pangkalan data MySQL

Anda boleh mengubah suai set aksara dalam pangkalan data MySQL melalui arahan berikut

SET NAMES 'utf8mb4';
Salin selepas log masuk

Arahan ini hanya sah untuk sambungan semasa Jika pengubahsuaian kekal diperlukan, ia perlu diubah suai dalam fail konfigurasi MySQL. Kaedah pengubahsuaian adalah seperti berikut:

[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
Salin selepas log masuk
  • Kaedah 2: Ubah suai set aksara apabila kod php bersambung ke pangkalan data

Hanya tambah kod semasa menyambung ke pangkalan data:

mysqli_set_charset($mysqli, "utf8mb4");
Salin selepas log masuk
  1. Ubah suai pengekodan aksara dalam PHP

Gunakan fungsi header() dalam PHP untuk menetapkan pengepala http, seperti berikut:

header("Content-type:text/html;charset=utf-8");
Salin selepas log masuk

Tetapkannya seperti ini Semua output set aksara ke penyemak imbas adalah UTF-8.

Dalam PHP, anda juga boleh menentukan kaedah pengekodan untuk menyimpan data ke pangkalan data:

mysqli_query($link, "SET NAMES 'utf8mb4'");
Salin selepas log masuk

Di mana, $link ialah objek yang menyambung ke pangkalan data MySQL.

  1. Semak set aksara jadual data

Apabila mencipta jadual data, anda perlu menentukan set aksara:

CREATE TABLE `mytable`(`id` INT, `name` VARCHAR(50)) DEFAULT CHARSET=utf8mb4;
Salin selepas log masuk
  1. Dalam halaman web Nyatakan set aksara

dan tambahkan kod berikut pada kepala html:

<meta charset="UTF-8">
Salin selepas log masuk

Selepas tetapan ini, semua set aksara yang dipaparkan adalah UTF- 8.

Ringkasan:

Walaupun masalah bercelaru data PHP yang disimpan ke pangkalan data adalah agak biasa, sebenarnya, selagi punca masalah itu difahami, ia boleh diselesaikan dengan mudah melalui penyelesaian di atas. Pada masa yang sama, set aksara utf8mb4 harus digunakan apabila boleh semasa pembangunan.

Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah aksara bercelaru apabila data php disimpan ke pangkalan data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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