首頁  >  文章  >  資料庫  >  mysql插入中文資料變成問號如何解決

mysql插入中文資料變成問號如何解決

王林
王林轉載
2023-05-27 16:58:043856瀏覽

mysql插入中文資料變成問號

第一步:先檢驗一下你自己的程式碼基本設定

1.Jdbc.properties資料庫設定檔後面是不是加了characterEncoding=utf-8,如下圖:

mysql插入中文資料變成問號如何解決

#發現沒有的話別傻看著,趕緊加起來

##2.web .xml有沒有配置編碼過濾器,就像是這種

mysql插入中文資料變成問號如何解決

沒有的話你自己看著辦,嘿嘿,為了方便你們複製在下面寫一下(是不是很貼心)

<!-- 配置编码过滤器 -->
	<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>

第二步:當你發現上面兩個檔案都沒有問題的話,我們就來看看這個設定檔啦.##1.看資料庫編碼格式

先登入伺服器,進到你的資料庫,登入資料庫指令(下面的資料庫名稱指的是你建立的資料庫名稱,比如說test):

mysql - u root -p 資料庫名稱

然後執行下面的指令查看你資料庫的編碼格式

show variables like ‘char%’;

mysql插入中文資料變成問號如何解決#就是這個latin1在作怪,那這個問題要怎麼解決呢?不要心急往下看.

2.修改mysql內部設定檔

先聲明一下,最新下載的官網mysql安裝包貌似都是沒有my.ini文件,但是一定有my. cnf文件,這時候你就應該去你伺服器看下在哪,當然一般都在根目錄下的etc/下面。

指令列:vim my.cnf

mysql插入中文資料變成問號如何解決【核心】執行i指令進入編輯模式,在[mysqlid]下面新增下面一句話,也就是漢字編碼格式相容

character-set-server=utf8

mysql插入中文資料變成問號如何解決:wq指令儲存並退出。

3.重啟mysql大功告成

我的是在根目錄的bin下面執行這兩個實作停開機

systemctl stop mysqld.service
systemctl start mysqld.service

mysql插入中文資料變成問號如何解決然後你可以很自豪的登入mysql,執行上面這個指令查看你資料庫的編碼格式

show variables like ‘char%&#39;;

mysql插入中文資料變成問號如何解決#是不是很驚喜很意外,哈哈哈哈。

最後經過不洩的努力,總算是把這個中文數據錄進去了,哈哈哈哈,真服自己,都想給自己轉個錢啥的,問號什麼的可以滾一邊去了。

mysql插入中文資料變成問號如何解決

問題解決

存入mysql的漢字變成問號

專案場景

#mySql 5.7

java

設定檔:spring.datasource.url=jdbc:p6spy:mysql://localhost:3306/XXX?useSSL=false

插入操作:

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

問題描述

存入資料庫後漢字變成? ? ? ?

mysql插入中文資料變成問號如何解決原因分析:

連接資料庫的設定需要製定字元集

解決方案

解決方法:數據源裡面增加useUnicode=true&characterEncoding=UTF-8

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

wenti

以上是mysql插入中文資料變成問號如何解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除