2011-08-24 60 views
2

我使用資源文件來顯示我的多語種網站中的html內容(如標籤名稱)。不同國家的資源文件不同。該網站建立在Asp.Net MVC3上。多語言網站中提醒消息

我正在顯示一條JavaScript警報,其消息是從資源文件中挑選出來的,如下所示: alert('@ Resources.Areas.Admin.Views.Program.Local.Create.msgDate3'); 現在在msgDate3的資源文件中,我有法文文本爲「La Fecha de iniciodeberáser menor que la la chacha detérmino」 此網站上的提醒顯示爲「La fecha de inicio deber á ser menor que la la fecha de t é rmino「其中」á「和」é「沒有正確顯示。 如何顯示這些特殊字符?

我也有其他語言的數據,其中出現類似的問題與這些characters.How顯示它們?

編輯: -

(在我的應用程序的英語資源文件被命名爲「cshtmlfilename.resx」如create.resx等文化資源文件被命名爲「cshtmlfilename.culturename.resx」如create.es- MX.resx)

我發現在我的提醒分頁符,我已經放置在頁面格式的javascript代碼alert('@Html.Raw(Resources.Areas.Admin.Views.Program.Local.Create.msgDate2)'); 其中「Create.msgDate2」指的是資源文件Create.resx的關鍵msgDate2 。 在螢火斷裂味精出來作爲`

未結束的字符串 [打破這個錯誤]警報('ควรจะลงวันที่ที่เริ่มก่อนวันสุดท้ายของการสิ้นสุด (這是味精我得到對於泰國(第th) 當我修改msgDate2的翻譯,那麼腳本工作正常。我相信一些問題正在發生在這種語言的字符,使JavaScript停止。 任何解決方案? ?

回答

1

使用Html.Raw避免串編碼:

alert('@Html.Raw(Resources.Areas.Admin.Views.Program.Local.Create.msgDate3)'); 

Htmlhelpers像Html.LabelFor(..)返回未編碼像在視圖中經常串的IHtmlString,所以這就是爲什麼你沒有問題與標籤。

+0

它的工作原理,感謝:-) – Shreesh

+0

它工作得很好了一些文化,但並沒有對一些像泰國(TH-TH),拉脫維亞(LV-LV)。 – Shreesh

0

發生了什麼瀏覽器?你能否發佈HTML文件的Head元素?我想你可能會錯過一個用於編碼的元標記。嘗試添加下面的頭:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">