我们刚刚设置了一个新的Windows 2008 R2服务器,当它被设置(包括IIS)时,文化设置设置为英语(“美国”)。然后他们根据其他服务器改为英语(“英国”)。没有其他设置被更改。
IIS设置尚未更改,Web服务中没有设置文化的位置,我还检查了machine.config和web.config - 在所有级别.Net全球化设置为在新旧服务器上保持不变。
但是在新的2008R2服务器中,Threading.Thread.CurrentThread.[CurrentUICulture/CurrentCulture].Name
是:
UI Culture = en-US (1033)
Culture = en-US (1033)
在旧服务器(2008年,而不是R2)中,它是:
UI Culture = en-US (1033)
Culture = en-GB (2057)
我们有一些旧的遗留代码,要求默认为en-GB,我需要以与旧服务器相同的方式实现,但无法弄清楚为什么这是默认为en-US而不是en -GB。
我已经检查了这个答案https://stackoverflow.com/a/11135336/198048,但它没有帮助。 (我意识到我可以强迫新服务器执行此操作)。
那么为什么文化违约到了美国?
答案 0 :(得分:5)
这是因为服务器保留帐户(例如asp.net帐户)仍在使用Windows设置的原始文化(en-US)。
一旦您更改了管理帐户的文化(并重新启动我假设),您可以在Regional and Language Options
(从控制面板)更改此设置,点击Administrative
标签,然后点击{{1 }}按钮。