浏览器切换中英文时,Accept-Language 请求值分别为:zh-CN、en-US返回编码不同
出现条件:当JSP页面头无编码设置,且JSP标签处理有调用response.setLocale(locale),而这个locale参数是读取请求头Accept-Language时,就会出现响应编码不同的情况。当请求:Accept-Language: en-US ,返回:text/html;当请求:Accept-Language: zh-CN , 返回:text/html;charset=UTF-8
·
问题现象:
出现条件:当JSP页面头无编码设置,且JSP标签处理有调用response.setLocale(locale),而这个locale参数是读取请求头Accept-Language时,就会出现响应编码不同的情况。如:
当请求:Accept-Language: zh-CN , 返回:text/html;charset=UTF-8,
当请求:Accept-Language: en-US ,返回:text/html;charset=ISO-8859-1
具体不同的应用服务器默认值不同。
解决办法:
若想统一这种情况下返回的编码,可以在 web.xml中增加配置。
<locale-encoding-mapping-list>
<locale-encoding-mapping>
<locale>en_US</locale>
<encoding>UTF-8</encoding>
</locale-encoding-mapping>
</locale-encoding-mapping-list> 更多推荐



所有评论(0)