Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Apakah yang perlu saya lakukan jika php tidak boleh menulis data Cina ke dalam jadual pangkalan data?

Apakah yang perlu saya lakukan jika php tidak boleh menulis data Cina ke dalam jadual pangkalan data?

王林
王林asal
2021-09-27 18:23:392172semak imbas

Penyelesaian kepada masalah bahawa PHP tidak boleh menulis data Cina ke dalam jadual pangkalan data: 1. Tukar set aksara yang digunakan oleh mysql kepada utf8 2. Tukar set aksara yang digunakan untuk pengekodan fail php kepada utf-8; . Tukar halaman web bahagian hadapan Pengekodan aksara yang digunakan ditukar kepada utf-8.

Apakah yang perlu saya lakukan jika php tidak boleh menulis data Cina ke dalam jadual pangkalan data?

Persekitaran pengendalian artikel ini: sistem windows10, php 7&&mysql 5.0, komputer thinkpad t480.

Dalam proses pembelajaran PHP, kita mungkin menghadapi situasi di mana data Cina tidak boleh dimasukkan ke dalam jadual data, dan halaman web bahagian hadapan tidak dapat memaparkan data Cina yang diperoleh daripada pangkalan data dengan betul. Apabila menghadapi masalah ini, kita perlu menukar set aksara yang digunakan oleh mysql kepada utf8, menukar set aksara yang digunakan untuk pengekodan fail PHP kepada utf-8, dan menukar pengekodan aksara yang digunakan oleh halaman web bahagian hadapan kepada utf-8, supaya masalah dapat diselesaikan.

Langkah khusus adalah seperti berikut:

1 Jalankan MySQLInstanceConfig.exe dalam direktori pemasangan MySQL, dan konfigurasikan pengekodan lalai kepada utf8; Sokongan Untuk Multilingualisme", dan pada masa yang sama Pilih "utf8" daripada senarai juntai bawah di bawah

Selepas konfigurasi selesai, semak tetapan "default-character-set" dalam fail my.ini di bawah laluan pemasangan MySQL. Ia sepatutnya ditetapkan kepada utf8 pada masa ini, jika tidak, tetapkan kepada default-character-set=utf8

2.1 Tentukan pengekodan utf8 semasa membuat pangkalan data:

.

2.2 Tentukan pengekodan utf8 semasa membuat jadual data:
CREATE  DATABASE  database_name
CHARACTER  SET  “utf8”
COLLATE  “utf8_general_ci”;

3 Tetapkan pengekodan fail kepada utf-8
CREATE  TABLE  table_name
(
Column_name  datatype,
......
)ENGINE=InnoDB  DEFAULT  CHARSET=utf8;

Jika anda menggunakan PhpStorm, pengekodan fail lalainya ialah utf-8, tidak perlu menukarnya

4 . Tetapkan set aksara yang digunakan pada halaman kepada utf-8:

5 Sebelum mengendalikan data, anda perlu melakukan mysql_query terlebih dahulu ('set nama utf8'), dan kemudian lakukan pertanyaan, kemas kini dan sisipan data tunggu .

6. Akhir sekali, tetapkan set aksara yang digunakan oleh data sumber klien dan set aksara hasil pertanyaan kepada gbk:

SET character_set_client =gbk //Masukkan bahasa Cina terus daripada baris arahan MySQL klien Apabila menyimpan data, data tidak akan kacau

SET character_set_results =gbk; //Data Cina yang dikembalikan daripada klien baris arahan MySQL tidak akan kacau

PS: Kandungan di atas ialah untuk MySQL Server 5.0, pengekodan aksara lalai yang digunakan dalam MySQL Server 5.6 ialah utf8

Pembelajaran yang disyorkan:

latihan php

Atas ialah kandungan terperinci Apakah yang perlu saya lakukan jika php tidak boleh menulis data Cina ke dalam jadual 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