Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk menyelesaikan masalah apabila memasukkan data Cina ke dalam mysql menjadi tanda tanya

Bagaimana untuk menyelesaikan masalah apabila memasukkan data Cina ke dalam mysql menjadi tanda tanya

王林
王林ke hadapan
2023-05-27 16:58:043903semak imbas

mysql memasukkan data Cina ke dalam tanda soal

Langkah 1: Mula-mula semak konfigurasi asas kod anda sendiri

1 Adakah anda telah menambah characterEncoding=utf-8, seperti yang ditunjukkan dalam rajah di bawah:

Bagaimana untuk menyelesaikan masalah apabila memasukkan data Cina ke dalam mysql menjadi tanda tanya

Jika anda mendapati ia tiada, jangan lihat sahaja, tambahkan dengan cepat

2.web Adakah .xml dikonfigurasikan dengan penapis pengekodan, seperti ini Sangat bertimbang rasa)

<!-- 配置编码过滤器 -->
	<filter>
		<filter-name>characterEncodingFilter</filter-name>
		<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
		<init-param>
			<param-name>encoding</param-name>
			<param-value>utf-8</param-value>
		</init-param>
	</filter>

Bagaimana untuk menyelesaikan masalah apabila memasukkan data Cina ke dalam mysql menjadi tanda tanyaLangkah 2: Apabila anda mendapati tiada masalah dengan kedua-dua di atas? fail, mari kita lihat fail konfigurasi ini.

1 Lihat format pengekodan pangkalan data

Mula-mula log masuk ke pelayan, masukkan pangkalan data anda dan log masuk ke. arahan pangkalan data (nama pangkalan data di bawah merujuk kepada nama pangkalan data yang anda buat, seperti ujian):

mysql - u root -p nama pangkalan data

Kemudian laksanakan arahan berikut untuk menyemak format pengekodan pangkalan data anda

tunjukkan pembolehubah seperti ‘char%’;

Ia adalah latin1 yang menyebabkan masalah, jadi bagaimana untuk menyelesaikan masalah ini ? Jangan sabar dan teruskan membaca.

2 Ubah suai fail konfigurasi dalaman mysqlBagaimana untuk menyelesaikan masalah apabila memasukkan data Cina ke dalam mysql menjadi tanda tanya

Pertama sekali, izinkan saya nyatakan bahawa pakej pemasangan mysql rasmi yang dimuat turun terbaharu nampaknya tidak mempunyai my.ini, tetapi ia mesti mempunyai fail my.ini cnf, pada masa ini anda harus pergi ke pelayan anda untuk melihat di mana ia biasanya berada di bawah dll/ dalam direktori akar.

Baris arahan: vim my.cnf

[Teras] Jalankan arahan i untuk memasuki mod penyuntingan, dan tambahkan ayat berikut di bawah [mysqlid], Juga Iaitu, format pengekodan aksara Cina serasi dengan

character-set-server=utf8

Bagaimana untuk menyelesaikan masalah apabila memasukkan data Cina ke dalam mysql menjadi tanda tanya

: Perintah wq menyimpan dan keluar.

3. Mulakan semula mysql dan anda selesai Bagaimana untuk menyelesaikan masalah apabila memasukkan data Cina ke dalam mysql menjadi tanda tanya

Saya melaksanakan kedua-dua pelaksanaan ini di bawah tong dalam direktori akar untuk berhenti dan memulakan

systemctl stop mysqld.service
systemctl start mysqld.service

Kemudian Anda dengan bangganya boleh log masuk ke mysql dan laksanakan arahan di atas untuk menyemak format pengekodan pangkalan data anda

show variables like ‘char%&#39;;

Bagaimana untuk menyelesaikan masalah apabila memasukkan data Cina ke dalam mysql menjadi tanda tanya

Bukankah ia mengejutkan dan tidak dijangka, hahahaha.

Akhirnya, selepas usaha yang tidak putus-putus, saya akhirnya memasukkan data Cina Hahahaha, saya benar-benar meyakinkan diri saya bahawa saya ingin memindahkan wang kepada diri saya sendiri. Bagaimana untuk menyelesaikan masalah apabila memasukkan data Cina ke dalam mysql menjadi tanda tanya

Selesai Masalah

Bagaimana untuk menyelesaikan masalah apabila memasukkan data Cina ke dalam mysql menjadi tanda tanya

Aksara Cina yang disimpan dalam mysql menjadi tanda tanya

Senario projek

mySql 5.7

java

Fail konfigurasi: spring.datasource.url=jdbc:p6spy:mysql://localhost:3306/XXX?useSSL=false

Kendalian sisip :

@Insert("INSERT INTO foods(food_name,food_taste,food_price,food_description) VALUES (#{foodName},#{foodTaste},#{foodPrice},#{foodDescription})")
	int insert(Food food);

Penerangan masalah

Apa yang akan menjadi aksara Cina selepas disimpan dalam pangkalan data? ? ? ?

Analisis sebab:

Tetapan untuk menyambung ke pangkalan data memerlukan set aksaraBagaimana untuk menyelesaikan masalah apabila memasukkan data Cina ke dalam mysql menjadi tanda tanya

Penyelesaian

Penyelesaian: Tambah Data useUnicode=true&characterEncoding=UTF-8

spring.datasource.url=jdbc:p6spy:mysql://localhost:3306/XXX?useUnicode=true&characterEncoding=UTF-8&useSSL=false

wenti

dalam sumber

Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah apabila memasukkan data Cina ke dalam mysql menjadi tanda tanya. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam