在ie下好使,在chrome下却显示英文,心想问题一定出在他们的请求头的Accept-Language属性上,于是用fiddler分别查看了chrome和IE请求我这个页面的Accept-Language
注:zh-CN表示简体中文;zh表示中文
然后我自己用程序模拟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再测就好了。
| chrome | Accept-Language: zh-CN,zh;q=0.8 |
| IE | Accept-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,重启项目
本文解决了一个网站在Chrome浏览器中显示英文而非中文的问题。通过调整HTTP请求头中的Accept-Language属性,并修改项目的资源文件,最终实现了正确的国际化设置。
2008

被折叠的 条评论
为什么被折叠?



