多语言网站中提醒消息

问题描述:

我使用资源文件来显示我的多语种网站中的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停止。 任何解决方案? ?

使用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

发生了什么浏览器?你能否发布HTML文件的Head元素?我想你可能会错过一个用于编码的元标记。尝试添加下面的头:

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