认证0级讲师
xml檔加上這個就可以了
<mvc:message-converters register-defaults="true"> <bean class="org.springframework.http.converter.StringHttpMessageConverter"> <property name="supportedMediaTypes" value="text/html;charset=UTF-8"></property> </bean> </mvc:message-converters> </mvc:annotation-driven>
不知道MediaType是啥,不過我一直是用produces = "application/json;charset=UTF-8"這個編碼,還是說前台的編碼不是utf-8
如果伺服器是 Tomcat,則換到 8.0 以上版本。舊版缺省情況下並非 UTF-8 編碼。
配置一個 spring 的編碼過濾器隨手搜的一個,供參考如果是新項目去看看 spring boot 吧,基本不用怎麼配置,像中文亂碼這些都默認配好了。
說一下亂碼問題 GET和POSTPOST在web.xml檔中設定spring過濾器,使用servlet原始方法但是這樣JSON問題還是解決不瞭如圖可以解決GET亂碼tomcat7及以下在web.xml中配置URIencoding=utf-8 或拿過來用ISO-8859-1手動解碼然後再用UTF-8編碼
配置一個簡單的CharacterFilter可能解決不了, 如果使用的是Jackson2,試試下面這種方案
<mvc:annotation-driven> <mvc:message-converters> <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"> <property name="supportedMediaTypes"> <util:list> <value>application/json;charset=UTF-8</value> <value>text/html;charset=UTF-8</value> </util:list> </property> </bean> </mvc:message-converters> </mvc:annotation-driven>
jackson1同理,只是類換成了MappingJacksonHttpMessageConverter
xml檔加上這個就可以了
不知道MediaType是啥,不過我一直是用produces = "application/json;charset=UTF-8"這個編碼,還是說前台的編碼不是utf-8
如果伺服器是 Tomcat,則換到 8.0 以上版本。舊版缺省情況下並非 UTF-8 編碼。
配置一個 spring 的編碼過濾器
隨手搜的一個,供參考
如果是新項目去看看 spring boot 吧,基本不用怎麼配置,像中文亂碼這些都默認配好了。
說一下亂碼問題 GET和POST
POST在web.xml檔中設定spring過濾器,使用servlet原始方法但是這樣JSON問題還是解決不瞭如圖可以解決
GET亂碼tomcat7及以下在web.xml中配置URIencoding=utf-8 或拿過來用ISO-8859-1手動解碼然後再用UTF-8編碼
配置一個簡單的CharacterFilter可能解決不了, 如果使用的是Jackson2,試試下面這種方案
jackson1同理,只是類換成了MappingJacksonHttpMessageConverter