0
   public MainPage()
    {
        InitializeComponent();
        WebBrowser test = new WebBrowser();

        string tes1t = @"<!DOCTYPE html>
        <html>
        <head>
        <title>Sample Page</title>
        <meta charset=""utf-8"">
        </head>
        <body>
        <p>sample html Navigate to string</p>
       </body>
       </html>";
        test.IsScriptEnabled = true;
        test.ScriptNotify += test_ScriptNotify;
        test.IsHitTestVisible = true;
        test.NavigateToString(tes1t);
        ContentPanel.Children.Add(test);


        // Sample code to localize the ApplicationBar
        //BuildLocalizedApplicationBar();
    }

    void test_ScriptNotify(object sender, NotifyEventArgs e)
    {
       // throw new NotImplementedException();
    }

在上面的示例代码中,当网络浏览器使用给定的 html5 文本导航到字符串时,呈现是正确的,但是当我删除元标记时,导航是正确的,无法弄清楚原因

4

1 回答 1

1

那是因为字符串变量中使用的 .NET 字符编码不是UTF-8,而是 UTF-16。有关此问题的更多讨论,请参阅https://stackoverflow.com/a/1025346/694641

如果您不指定编码,浏览器将自动为您自动检测实际的文本编码。

于 2013-04-29T12:57:20.793 回答