我有代码在点击关闭按钮时显示确认框。 它应该显示一条消息以及月份的名称。月份名称是德语,德语有几个月的特殊字符,如 March - März。
确认框未显示特殊字符。 有人可以帮帮我吗?
我的代码:
function chk_abschliessen()
{
var chk = confirm("Möchten Sie diesen Stundenzettel wirklich abschliessen?\nStundenzettel " + '@Model.monat.datum.Value.ToString("MMMM")' + " " + '@Model.monat.datum.Value.Year' + " ");
if (chk)
{
document.closebutton.submit()
}
else
{
return false;
}
}
确认框显示:
MöchtenSiediesen Stundenzettel wirklich abschliessen? Stundenzettel Mä rz 2016
我使用了临时解决方案,将其发布在此处,因为它可能会帮助其他人 -
function clear_amp(data)
{
// for month "März"
var ret = data.replace("ä", "ä");
return ret;
}
//Abschliessen Messages Check - BEGIN
function chk_abschliessen()
{
var chk = confirm("Möchten Sie diesen Stundenzettel wirklich abschliessen?\nStundenzettel " + clear_amp('@Model.monat.datum.Value.ToString("MMMM")') + " " + '@Model.monat.datum.Value.Year' + " ");
if (chk)
{
document.closebutton.submit()
}
else
{
return false;
}
}
答案 0 :(得分:0)
所以它应该显示März而不是März
实际上,JavaScript decodeURIComponent()函数用于解码特定于url的charactuers中的字符。
在您的情况下,它是Html编码的,因此您可以使用HtmlDecode / HtmlEncode函数对字符串进行编码/解码,如下所示:
HttpUtility.HtmlDecode(@Model.monat.datum.Value.ToString("MMMM"))
另请参阅本文WebUtility.HtmlDecode vs HttpUtilty.HtmlDecode
此链接包含德语的html characture
答案 1 :(得分:-1)
我遇到了与电子邮件输出相同的问题,并建议在我的代码中使用encodeURI()或encodeURIComponent()来解决此问题Foreign letters in Javascript。