在确认框中显示特殊字符

Showing Special Characters in Confirm Box

本文关键字:显示 特殊字符 确认      更新时间:2023-10-07

我有代码在单击关闭按钮时显示确认框。它应该显示一条消息以及月份的名称。月份名称是德语的,德语在某些月份有特殊字符,如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öchten Sie diesen Stundenzetel wirklich潜逃?Stundenzettel M&228;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;
        }
  }

因此它应该显示März而不是März

实际上,JavaScriptdecodeURIComponent()函数用于解码url特定字符中的字符。

在您的情况下,它是Html编码的,因此您可以使用HtmlDecode/HtmlEncode函数对字符串进行编码/解码,如下所示:

HttpUtility.HtmlDecode(@Model.monat.datum.Value.ToString("MMMM"))

也可以看看这篇文章WebUtility.HtmlDecode vs HttpUtilty.HtmlDecode

此链接包含德语的html字符

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

我在电子邮件输出方面也遇到了同样的问题,有人建议我在代码中使用encodeURI()或encodeURIComponent()来解决这个问题Javascript中的外来字母。