[IE]zh-Hant-TW 是無效的文化特性識別項。
今天使用Windows 8 IE10 測試程式時,發現出現了「zh-Hant-TW 是無效的文化特性識別項。」的錯誤,如下圖,
因為 IE10 送出的語系資料為zh-Hant-TW,所以會造成建立CultureInfo時發生錯誤。
雖然解法可以請User調整「控制台\所有控制台項目\語言\進階設定」中,將「適用於網路內容的語言」下勾選「不要讓網站存取我的語言清單。將改用我的日期、時間和數字格式設定的語言」。如下圖,
但是如果能從程式去調整的話,就更好了。所以原本程式如下,
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);
參考資料
ASP.NET 2.0 多國語系網站與 Windows 8 的 IE10 語系設定
調整 IE10 與 Windows 8 語言喜好設定為舊版的 zh-TW 語系
Hi,
亂馬客Blog已移到了 「亂馬客 : Re:從零開始的軟體開發生活」
請大家繼續支持 ^_^