Asp.net mvc 为什么特殊字符撇号和其他字符显示如下’Â;在HTMl文件中

Asp.net mvc 为什么特殊字符撇号和其他字符显示如下’Â;在HTMl文件中,asp.net-mvc,html,razor,markdown,jekyll,Asp.net Mvc,Html,Razor,Markdown,Jekyll,我有一个UTF-8的降价文件,没有BOM编码格式[md file generated tool from word document]。使用jekyll工具将此标记转换为HTML。md文件内容中提供以下特殊字符(撇号、hypen等) 1.MD中的示例内容: dont't, **ListView** control 转换的HTMl格式如下: <!DOCTYPE html> <html> <head> <meta chars

我有一个UTF-8的降价文件,没有BOM编码格式[md file generated tool from word document]。使用jekyll工具将此标记转换为HTML。md文件内容中提供以下特殊字符(撇号、hypen等)

1.MD中的示例内容:

dont't, **ListView** control
转换的HTMl格式如下:

<!DOCTYPE html>
    <html>
      <head>
      <meta charset="utf-8">      
    </head>
      <body> 
      <p>dont’t, <strong>ListView</strong> control</p>
        </body>
    </html>
Don't, **ListView** control
行动代码:

public ActionResult GetHtmlPage(string path)
        {
            return new FilePathResult(path, "text/html");
        }
使用上述MVC语法,我可以成功地将HTMl文件加载到我的视图中。但输出如下所示,就像在浏览器中一样,HTMl模板也像以前的格式一样

dont’t, ListView control
  • 撇号被视为
    –欧元™
  • 粗体元素后添加的字符串

  • 在将html文件加载到razor视图时,如何在浏览器中查看特殊字符。?我一直坚持到今天。

    看来您的HTML文档正在以UTF-8的形式宣传自己。但是,如果实际上不是UTF-8格式,或者标记文件不是UTF-8格式,则可能导致字符实际上不是UTF-8编码字符。因此,请检查文件的编码

    如果这不能解决问题,那么您需要使用。或者您只需要将文本用于标点符号

    例如,查看示例HTML中的撇号,请注意它是倾斜的(单右引号,unicode字符U+2019),而不是狭义撇号(unicode字符U+0027,也是ASCII字符)

    请注意,为了在HTML文档中可靠地显示这些字符,最好使用这些字符的HTML实体。因此,降价文件应如下所示:

    Don&rsquo;t, **ListView** control
    
    HTML实体
    告诉浏览器显示单个右引号,unicode字符U+2019

    请注意,Markdown会为您将这些字符转换为HTML实体。你必须自己做。您可以使用来进行转换,但它将ASCII字符转换为更丰富的字符作为HTML实体。在这种情况下,您的降价应该如下所示:

    <!DOCTYPE html>
        <html>
          <head>
          <meta charset="utf-8">      
        </head>
          <body> 
          <p>dont’t, <strong>ListView</strong> control</p>
            </body>
        </html>
    
    Don't, **ListView** control
    
    当然,如果需要,您可以只使用ASCII字符,而不必使用SmartPants

    但是,请注意,如果您使用的是MS Word,则默认情况下该程序配置为自动将您键入的ASCII字符(使用键盘上的撇号键)替换为花式字符。因此,一般建议不要使用文字处理器(如MS word)编辑降价文档。改用a


    如果您确实必须使用MS Word,有几种方法可以禁用自动替换行为。有关文字处理器如何处理这些类型的字符以及如何禁用该行为的更多信息,请参阅。

    您的撇号是一种特殊字符,编码时会出错。注意
    '
    '