在spring拦截器中设置编码无效,我想是spring在调用拦截器前已经设置了编码。如何改spring mvc的设置的默认编码,有相关配置吗? 如果没有只能加个filter了
------------------------------------------------------------------------------------------------------------------
问题补充:
在spring拦截器中设置编码无效,我想是spring在调用拦截器前已经设置了编码。如何改spring mvc的设置的默认编码,有相关配置吗? 如果没有只能加个filter了
------------------------------------------------------------------------------------------------------------------
问题补充:
谢谢大家,不是浏览器的问题,我想是spring的问题。当content-type是"application/x-www-form- urlencoded; charset=utf-8"时,spring会自动设置request.setCharacterEncoding("UTF-8"),我用ajax方式提交的数据都是这样的content-type,没有乱码。但是form标签不能指定charset,spring默认设置的是Latin-1,所以会有乱码。虽然我在拦截器中已经setCharacterEncoding("UTF-8"),但是spring已经在这之前把浏览器发过的utf-8编码转成了Latin-1。
乱码的过程:
UTF-8 -> Latin-1 -> UTF-8
乱码的样子:
è?¨??°è′′???è?¨??°è′′???è?¨??°è′′???è?¨??°è′′
这种乱码是无法回归正常的,一些数据在转换时已经丢失。
联系客服