Key words: IE的默认语言若不为简体中文,则会导致此问题发生
刚在某内网服务器(英文 Win2003Server Standard 64Bit)搭建了一套应用(WebLogic11G+Oracle11G),结果我本地访问时报“missing message for key”,第一反应是语言资源文件没放上去,但当时让同事A也访问一下,结果一切正常,再找另一个同事B,还是一切正常,结果我就被BS为人品差……上网查了半天就是说资源文件有问题,少报错的那一项。经查,资源文件肯定是没有任何问题的。
就这样人品一直差了几天,每次访问均是同样的现象。结果今天同事B也报了同样的错,而同事A、C、D都没事。有人问是不是WebLogic License问题,但是Bea被Oracle收购之后,就没有License一说了。
于是再上网查,有一篇提到不同的浏览器可能默认语言不一样…...恍然,想起前几天因为本地访问Oracle控制台出乱码,于是把IE的默认语言改成EN-GB。于时赶紧把IE默认语言改回ZH-CN(IE工具-Internet选项-常规-外观-语言:将中文ZH-CN置为最上),再次访问,果然OK了。
我刚想放松,但是想起B的IE默认语言没改过的,怎么也会有这个问题呢?结果再让他登录下,又OK了。但是,同事C又试了一下他又报错了。唔,灵异啊,一头汗…...
又想起当时我IE默认EN-GB时,访问另一外网(中文 Win2003 Server Enterprise 32Bit)上的应用是没问题的….
让同事A将语言项设为英文,结果访问内网应用也报同样的错,访问外网应用无事。
因此,初步结论如下:
仅在 英文操作系统+本地IE英文的情况下才会发生“missing message for key”现象
由于现在手里没有64位win2003中文语言包,暂无试验将内网服务器改为中文语言,本地IE语言英文的情况。
(2010-11-18更新:鬼终于捉到了——系统首页默认“繁体中文”,但由于不用,繁体中文语言文件被我删除了……,还是怪当时没问清楚,C只是登录后报“missing message for key”,不是首页都登不上去。
所以结论就是:别人访问正常只有你不正常时,就检查下IE默认语言吧:)