JDBC連接MySql插入中文顯示問號解決方法


聲明:菜鳥剛學沒啥技術,找了許久這樣解決了。

win10平台 linux環境不知道


一、首先連接數據庫輸入以下命令

show variables like "%chara%"; 

    

目標就是修改成上圖樣子

我們看一下每行代表什么

character_set_client :客戶端數據使用字符集

character_set_connection:連接數據庫時使用的字符集,如果程序沒有指定編碼則使用這個編碼

character_set_database:當前數據庫使用的字符集

character_set_filesystem:文件系統的編碼格式,把os上的文件名轉化成此字符集,默認binary不做任何轉換的。(不影響亂碼)

character_set_results:查詢結果字符集也就是數據庫給客戶端返回時的編碼

character_set_server:默認內部操作字符集也就是服務器安裝時指定的默認編碼

character_set_system:系統元數據(字段名等)字符集 (不影響亂碼)

character_sets_dir:看不懂,也不用改(不影響亂碼)


 注意:

set character_set_XXX = “uft8”;

該語句不是永久有效,只對當前連接有效,所以最有效的就是修改本地 my.ini 文件

二、找到本地my.ini文件

(在這剛好推薦一個本地文件檢索工具  軟件名:everything )

查詢文件超級快

找到文件后打開

找到下面三個地方

[mysql]
no-beep

# default-character-set=utf8

[mysqld]
character-set-server=utf8(一般這邊沒有這條語句先找③那個)

# The default character set that will be used when a new schema or table is
# created and no character set is defined
# character-set-server=utf8(把這句話復制到第二條位置)

 

三、修改表的字符集,重啟服務

這是修改表的字符集語句(login換成你想修改的表)

alter table login convert to character set utf8;

 win+R鍵輸入

找到mysql服務重啟

重啟后輸入以下語句查詢是否更改成功

show variables like "%chara%"; 

還有注意在連接的時候選擇使用MySQL字符集,不然白改了

四、測試

這是修改之前

修改之后

五、OK問題解決,開始喝茶


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM