Rumah > pangkalan data > tutorial mysql > 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

王林
Lepaskan: 2023-05-27 16:58:04
ke hadapan
3929 orang telah melayarinya

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>
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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;;
Salin selepas log masuk

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);
Salin selepas log masuk

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
Salin selepas log masuk
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!

Label berkaitan:
sumber:yisu.com
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