mysql 亂碼 解決

2021-08-02 17:26:06 字數 955 閱讀 1185

儲存資料到資料庫,一看全是問號,看了看工程的log還有控制台,都是正常的,第一反應是jdbc url沒有設定useunicode=true&characterencoding=utf-8,check後發現jdbc url設定了,所以推斷資料庫字符集出問題了。

通過show variables like '%character%'show variables like '%collation%'之後,

character_set_server=latin

collation_database=latin1_swedish_ci

問題出在character_set_server,也就是資料庫server字符集就是錯誤的。將mysql_home下的my-default.ini複製乙份,改名為my.ini,在最後新增兩行

character_set_server=utf8

collation_server=utf8_general_ci

collation_database=general_bin則通過在命令列中執行

set collation_database=utf8_general_ci (重啟後依然有效)
為了保險,又看了一下表的校對規則

show

table status from db_name like

'%table_name%'

有一列是collation就是校對規則。

然後,又看了一下表的列校對規則

show

full columns from table_name;

全部都是utf8_general_ci,確定沒問題了,然後再儲存不亂碼了。

解決mysql亂碼

將以前連線sqlserver的資料庫,移植到mysql。插入的中文資料都變成了亂碼。上網找解決辦法,1改連線串 jdbc mysql localhost 3306 jd?useunicode true characterencoding gbk 注意要用 2正確設定庫和表的字符集,首先要一致,然後選...

MySQL亂碼的解決

其他的地方都一樣,設定系統編碼和表編碼 這個呵呵。a mp 轉義符 xp 下 conn drivermanager.getconnection jdbc mysql localhost 3306 htwebsite?useunicode true characterencoding gbk root...

Mysql中文亂碼解決

mysql插入中文亂碼 我們在安裝mysq的時候就制訂了mysql編碼為utf 8,如果想解決亂碼,最簡單的乙個方法就是制定mysql編碼為gb2312 我們通過客戶端提交資料的時候,輸入法是採用gb2312對輸入的中文資料進行編碼,並將它們存入資料庫,但是我們 已經指定了mysq客戶端的編碼是ut...