我們的請求響應資訊是會經過伺服器(tomcat)的,而tomcat會對其進行重新編碼(預設是iso-8859-1)。
修改tomcat配置檔案servlet.xml,指定utf-8編碼,如下:
手動解碼編碼處理,如下:
@responsebody
public void getchinese(string str) throws unsupportedencodingexception
自定義過濾器,統一處理亂碼。
在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
>
<
>
<
filter-name
>characterencodingfilter
filter-name
>
<
url-pattern
>/*
url-pattern
>
>
測試: public string postchinese(string str)
通過produces告訴瀏覽器使用utf-8解析伺服器穿送過來的資料。
相當於在響應頭中新增contenttype("text/plain; charset=utf-8")
@responsebody
public string returnchinese()
springmvc亂碼問題
昨天寫了 乙個ssm的demo發現怎麼設定編碼最後出現的還是亂碼 用各種方式也沒能解決 最後發現是資料庫連線時的問題 避免亂碼問題 首先得確保自己的jsp頁面的編碼為utf 8 然後在web.xml中設定編碼過濾器 最後再設定到資料庫是設定編碼格式 web.xml characterencoding...
SpringMvc 亂碼問題
從前端傳值 然後請求跳轉後成為了亂碼 在web.xml中新增下述 spring容器自帶的亂碼過濾 encodingfilter name org.springframework.web.filter.characterencodingfilterfilter class encodingparam ...
SpringMVC亂碼問題
原因分析 一般瀏覽器使用編碼預設和作業系統保持一致,而中文作業系統一般預設為gbk,我們的服務為utf 8 解決辦法 在web.xm中配置編碼過濾器 1 filter 2 filter name encodingfilter filter name 3 filter class org.spring...