中文亂碼, 基本就分兩段, 一, 從request獲取到的就是亂碼, 二, request獲取的沒(méi)問(wèn)題, 存儲(chǔ)到數(shù)據(jù)庫(kù)亂碼.
一, request獲取到的就是亂碼
基本上就設(shè)置4個(gè)地方,
1, 先確保你項(xiàng)目的文件格式是GBK或者UTF-8
2, 如果你使用的jsp就設(shè)置代碼的<%@ page contentType="text/html; charset=utf-8" language="java"%>
3, web.xml
<filter>
<filter-name>SetCharacterEncoding</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>
4, struts.xml
<constant name="struts.i18n.encoding" value="utf-8" />
二, 數(shù)據(jù)庫(kù)問(wèn)題
1, 檢查數(shù)據(jù)庫(kù)字符集, 是否設(shè)置成了utf8
2, 檢查表字符集是否是utf8
3, 執(zhí)行SHOW VARIABLES LIKE 'character_set_%';
查看
如果是latin1, 那么久需要將改成utf8
linux需要去尋找my.ini增加character_set_server=utf8
mac的話, 我自己都沒(méi)找到my.ini
ps: 執(zhí)行set character_set_server=utf8;可以改, 但是重啟mysql, 又失效了, 我還沒(méi)想到怎么辦