mysql插入中文數(shù)據(jù)變成問號的解決方案
mysql插入中文數(shù)據(jù)變成問號
寫在前面
也許在看這篇文章的你因為這個事情煩惱,網(wǎng)上說的都是什么修改my.ini文件,可是當你發(fā)現(xiàn)你的服務器安裝的mysql沒有這個配置文件豈不是特別的腎疼。
疼就對了,按照我的方法一步步保障你能夠配置成功,不然你們打的我*疼。
第一步:首先檢驗一下你自己的代碼基本配置
1.Jdbc.properties數(shù)據(jù)庫配置文件后面是不是加了characterEncoding=utf-8,如下圖所示:
發(fā)現(xiàn)沒有的話別傻看著,趕緊加起來
2.web.xml有沒有配置編碼過濾器,就像是這種
沒有的話你自己看著辦,嘿嘿,為了方便你們復制在下面寫一下(是不是很貼心)
<!-- 配置編碼過濾器 --> <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>
第二步:當你發(fā)現(xiàn)上面兩個文件都沒有問題的話,我們就來看看這個配置文件啦.
1.看數(shù)據(jù)庫編碼格式
先登錄服務器,進到你的數(shù)據(jù)庫,登錄數(shù)據(jù)庫命令(下面的數(shù)據(jù)庫名指的是你創(chuàng)建的數(shù)據(jù)庫名稱,比如說test):
mysql -u root -p 數(shù)據(jù)庫名
然后執(zhí)行下面的命令查看你數(shù)據(jù)庫的編碼格式
show variables like ‘char%’;
就是這個latin1在作怪,那么這個問題怎么解決呢?不要心急往下看.
2.修改mysql內(nèi)部配置文件
先聲明一下,最新下載的官網(wǎng)mysql安裝包貌似都是沒有my.ini文件,但是一定有my.cnf文件,這個時候你就應該去你服務器看下在哪,當然一般都在根目錄下的etc/下面。
找到的話你就可以繼續(xù)往下看,沒找到的自己反?。ńo我留言,我?guī)湍阏遥?/p>
命令行:vim my.cnf
【核心】執(zhí)行i命令進入編輯模式,在[mysqlid]下面新增下面一句話,也就是漢字編碼格式兼容
character-set-server=utf8
:wq命令保存并退出。
3.重啟mysql大功告成
我的是在根目錄的bin下面執(zhí)行這兩個實現(xiàn)停啟
systemctl stop mysqld.service systemctl start mysqld.service
然后你可以很自豪的登錄mysql,執(zhí)行上面這個命令查看你數(shù)據(jù)庫的編碼格式
show variables like ‘char%';
是不是很驚喜很意外,哈哈哈哈。
最終經(jīng)過不泄的努力,總算是把這個中文數(shù)據(jù)錄入進去了,哈哈哈哈,真服自己,都想給自己轉(zhuǎn)個錢啥的,問號什么的可以滾一邊去了。
問題解決
存入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);
問題描述
存入數(shù)據(jù)庫后漢字變成????
原因分析:
連接數(shù)據(jù)庫的設(shè)置需要制定字符集
解決方案
解決方法:數(shù)據(jù)源里面增加 useUnicode=true&characterEncoding=UTF-8
spring.datasource.url=jdbc:p6spy:mysql://localhost:3306/XXX?useUnicode=true&characterEncoding=UTF-8&useSSL=false
wenti
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
解決 phpmyadmin #2002 無法登錄 MySQL 服務器
我以前使用phpmyadmin都是很正常的,從來沒有出現(xiàn)過問題。但是今天出現(xiàn)了提示#2002無法登陸到MYSQL服務器2012-04-04通過MySQL日志實時查看執(zhí)行語句以及更新日志的教程
這篇文章主要介紹了通過MySQL日志實時查看執(zhí)行語句以及更新日志的教程,文中所講的方法使用到了mysqladmin命令,需要的朋友可以參考下2015-12-12CentOS6.9下mysql 5.7.17安裝配置方法圖文教程
這篇文章主要為大家詳細介紹了CentOS6.9下mysql 5.7.17安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-10-10mysql(master/slave)主從復制原理及配置圖文詳解
這篇文章主要介紹了mysql(master/slave)主從復制原理及配置圖文詳解,以前腳本之家小編發(fā)過相關(guān)的內(nèi)容,但這么好的非常少見特分享一下,需要的朋友可以參考下2016-05-05.Net Core導入千萬級數(shù)據(jù)至Mysql的步驟
最近在工作中,涉及到一個數(shù)據(jù)遷移功能,從一個txt文本文件導入到MySQL功能。數(shù)據(jù)遷移,在互聯(lián)網(wǎng)企業(yè)可以說經(jīng)常碰到,而且涉及到千萬級、億級的數(shù)據(jù)量是很常見的。今天我們就來談談MySQL怎么高性能插入千萬級的數(shù)據(jù)。2021-05-05