在确认框中显示特殊字符

时间:2016-03-30 09:12:48

标签: javascript c# html

我有代码在点击关闭按钮时显示确认框。 它应该显示一条消息以及月份的名称。月份名称是德语,德语有几个月的特殊字符,如 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;
        }
  }

2 个答案:

答案 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

http://character-code.com/german-html-codes.php

答案 1 :(得分:-1)

我遇到了与电子邮件输出相同的问题,并建议在我的代码中使用encodeURI()或encodeURIComponent()来解决此问题Foreign letters in Javascript