struts2中i18n国际化在chrome下不显示中文

本文解决了一个网站在Chrome浏览器中显示英文而非中文的问题。通过调整HTTP请求头中的Accept-Language属性,并修改项目的资源文件,最终实现了正确的国际化设置。
在ie下好使,在chrome下却显示英文,心想问题一定出在他们的请求头的Accept-Language属性上,于是用fiddler分别查看了chrome和IE请求我这个页面的Accept-Language

chromeAccept-Language: zh-CN,zh;q=0.8
IEAccept-Language: zh-CN

注:zh-CN表示简体中文;zh表示中文

开始以为是多了那个q=0.8导致的,就上网搜了一下关于q的含义:

q是权重系数,范围 0 =< q <= 1,q 值越大,请求越倾向于获得其“;”之前的类型表示的内容,若没有指定 q 值,则默认为1,若被赋值为0,则用于提醒服务器哪些是浏览器不接受的内容类型。

然后我自己用程序模拟http请求,先让Accept-Language等于zh-CN,zh(去掉了q=0.8),然后测试,,结果令人失望。然后再让Accept-Language等于zh-CN再测试,这次就好了,回头去查看项目里的资源文件,有2个:messages_zh_CN.properties和messages.properties。抱着试一试的心态,我将messages_zh_CN.properties复制了一份命名为messages_zh.properties,重启项目,用chrome再测就好了。

解决方法:将项目中的资源文件messages_zh_CN.properties复制一份命名为messages_zh.properties,重启项目

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值