11 回答

TA貢獻25條經(jīng)驗 獲得超45個贊
如果是頁面?zhèn)髦颠^來的話,需要請求的編碼跟接收和數(shù)據(jù)庫的編碼一致。
如果你debug發(fā)現(xiàn)傳到后臺還沒接收的時候就是亂碼的話
需要修改tomcat配置文件,其他發(fā)布服務器類似。
建議忘掉修改my.ini方法 ?實際項目數(shù)據(jù)庫編碼不會有問題的。
全部沒問題的話,是極小的幾率才會出現(xiàn)亂碼,比如說,手機端未設置編碼直接傳值等

TA貢獻2條經(jīng)驗 獲得超1個贊
首先查看當前數(shù)據(jù)庫編碼:
mysql> use xxx
mysql> show variables like 'character_set_database';
+------------------------+--------+
| Variable_name????????? | Value? |
+------------------------+--------+
| character_set_database | latin1 |
+------------------------+--------+
上面,我們先切換到xxx數(shù)據(jù)庫下面來,然后使用SQL語句:show variables like 'character_set_database'; 來查看了xxx數(shù)據(jù)庫的編碼。查詢得到的結果是latin1編碼。
下面,修改xxx數(shù)據(jù)庫的編碼,把它修改為你要的編碼 utf8 ?(注意不是utf-8)。或許你的是gbk gb2312 。
mysql> alter database xxx CHARACTER SET utf8;

TA貢獻11條經(jīng)驗 獲得超1個贊
private String url = "jdbc:mysql://localhost:3306/dbname?useUnicode=true&charactorEncoding=utf-8";
在你jdbc url后面加上?useUnicode=true&charactorEncoding=utf-8 這段,用的什么編碼,尾部就改成什么編碼,還有你的項目編碼最好也相同,新建數(shù)據(jù)庫時也指定charset=utf-8,就不會亂碼了

TA貢獻1條經(jīng)驗 獲得超0個贊
亂碼一般都是編碼問題,程序和數(shù)據(jù)庫編碼統(tǒng)一就行,一般使用utf8,設置my.ini后記得重啟數(shù)據(jù)庫
添加回答
舉報