今天使用Windows 8 IE10 測試程式時,發現出現了「zh-Hant-TW 是無效的文化特性識別項。」的錯誤,如下圖,

zh-Hant-TW

 

因為 IE10 送出的語系資料為zh-Hant-TW,所以會造成建立CultureInfo時發生錯誤。

雖然解法可以請User調整「控制台\所有控制台項目\語言\進階設定」中,將「適用於網路內容的語言」下勾選「不要讓網站存取我的語言清單。將改用我的日期、時間和數字格式設定的語言」。如下圖,

Language

LanguageAdv

 

但是如果能從程式去調整的話,就更好了。所以原本程式如下,

System.Threading.Thread.CurrentThread.CurrentCulture = 
    System.Globalization.CultureInfo.CreateSpecificCulture(Request.UserLanguages[0]);
System.Threading.Thread.CurrentThread.CurrentUICulture = 
    new System.Globalization.CultureInfo(Request.UserLanguages[0]);

 

 

改成從CurrentCulture取出Name再給CurrentUICulture,如下,

System.Threading.Thread.CurrentThread.CurrentCulture = 
    System.Globalization.CultureInfo.CreateSpecificCulture(Request.UserLanguages[0]);
System.Threading.Thread.CurrentThread.CurrentUICulture = 
    new System.Globalization.CultureInfo(System.Threading.Thread.CurrentThread.CurrentCulture.Name, false);

 

arrow
arrow
    全站熱搜

    Joe Joe 發表在 痞客邦 留言(0) 人氣()