2009-01-06 75 views
7

我有一個託管的VPS由英國託管公司託管,由於某種原因設置爲美國設置。事實上,直到最近,區域設置是「英國 - 美國」。我已更正區域設置,但我的應用程序仍在使用錯誤的日期格式。請參閱:在IIS 6.0中更改默認語言環境

http://www.albaassoc.com/events/listevents.aspx

默認的日期應該是當前日期日期+ 3個月,但你可以看到,DD和MM字段交換。注意:AJAX日曆擴展程序手動設置爲dd/MM/yyyy,這就是爲什麼日曆彈出窗口認爲我們對6月/ 7月而非1月感興趣的原因!

我知道有不同的方法來設置頁面或應用程序使用特定的語言環境,但我寧願去一個全球性的方法。

是否有可能重新配置IIS以在不同的語言環境中工作,或者如果不能,我可以調整machine.config,以便它是一次性更改?

我有與主機開出罰單,但我不會認爲我的呼吸 - 他們不會想重裝IIS ...

在此先感謝。

回答

6

通過globalization元素,您可以爲網站(通過web.config)或整個機器(通過machine.config)設置文化和uiculture。

+0

嗯......試過了。智能感知不喜歡文化屬性,而且它似乎也無法工作。當我回到我的辦公桌時,我會張貼我試過的代碼。 – CJM 2009-01-06 22:14:08

+0

我試圖通過在一個經典的ASP應用程序的網站web.config,但它沒有奏效。我猜它只適用於ASP.NET應用程序,不適用於在IIS級別更改區域設置。 – GiddyUpHorsey 2011-11-17 23:10:18

5

我剛剛收到類似的問題(Windows Server 2008,IIS 7)。我可以通過編輯Web配置文件來修復它,但是就像你我想要一個全局修復程序。

該解決方案是在配置面板的區域設置。我不知道你(你的操作系統是什麼),但在WS2008下,在區域設置下有一個管理選項卡。它允許您將登錄用戶(您)的設置複製到管理帳戶(在這種情況下爲網絡服務)。重新啓動,並得到它的權利。

+0

乾杯尼古拉斯 - 我會看看那個。 – CJM 2009-02-15 00:34:18

+0

你是對的Nicolas,實際上有一個選項在:控制面板 - >區域和語言選項 - >高級 - >檢查'將所有設置應用到當前用戶帳戶和默認用戶配置文件'。這對我有效。謝謝。 – lidermin 2011-02-22 20:59:46

4

問題往往在於運行IIS或您的應用程序所屬的應用程序池的用戶是安裝服務器時創建的系統帳戶。因此,他們繼承了當時默認的語言環境。

如果你不能在區域和語言選項中修復它,你總是可以直接在註冊表中嘗試編輯(通常的注意事項是亂搞註冊表可能嚴重影響Windows)。區域設置全部在HKEY_USERS \ {userid} \ Control Panel \ International下 - 如果您比較了每個用戶和HKEY_CURRENT_USER \ Control Panel \ International下的內容,那麼應該明白要更改哪些內容。我在Windows 2000服務器上做了幾次這樣的操作,並且工作正常。

另一種選擇是在機器上用正確的語言環境創建一個新用戶,然後將IIS和應用程序池都設置爲以該身份運行。

1

我有一個問題,日期格式爲mm/dd/yyyy,當我希望它是dd/mm/yyyy。 我使用的是Windows Server 2003和IIS 6

解決方法是將以下內容添加到任何Web配置文件,然後重新啓動服務器,它應該工作得很好。

<globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="en-GB" /> 
1

一個古老的線程的位,但我仍然期待現已解散的阿茲特克文明在其順神的讚美寫了一些傳統的經典ASP網站後。

服務器移動阻止了所有日期代碼的工作並犧牲了一隻雞沒有任何幫助,因此這裏是IIS 7中非常容易解決的問題,可能是因爲沒有其他人像我一樣遭受痛苦。

  1. 轉到IIS管理器。
  2. 選擇要應用於所有站點的根服務器節點,或者如果要單獨保留服務器默認值,請選擇您遇到問題的站點節點。
  3. 在IIS部分,雙擊ASP圖標。
  4. 將區域設置ID設置爲您所需的區域設置(英國2057)。

這應該立即生效。

另外,你可以去買一個DeLorean,回去及時殺死程序員誰決定FormateDateTime(d, vbLongDate)是生成一個數據庫中使用的日期的最佳方式。或者說服客戶給我很多錢來取代整個事情。好的。