WPF在TextBlock中显示马拉雅拉姆语

时间:2019-03-28 15:39:19

标签: c# wpf

我正在使用WPF应用程序从网页中提取标题栏(语言为马拉雅拉姆语),并显示在textBlock上。 当前面临的问题是显示文本(马拉雅拉姆语字母)被问号/已注册租船人的徽标代替。

如何在WPF textBlock或文本框中正确呈现malayalam字体?

这是TextBlock的XAML代码

<TextBlock Name="media" TextWrapping="Wrap" />

这是用于从网站抓取数据的代码

using (WebClient client = new WebClient())
{
    var read = client.OpenRead(url);
    HtmlDocument doc = new HtmlDocument();
    doc.Load(read);
    var title = doc.DocumentNode.SelectSingleNode("//title").InnerText;
    string text = doc.DocumentNode.InnerHtml;

    media.Dispatcher.Invoke(() =>
    {
        media.Text = title + Environment.NewLine;
    });
}

The Result i get

1 个答案:

答案 0 :(得分:2)

我认为您的问题不是在TextBlock中显示文本,而是从服务器获取文本。您应该使用正确的编码加载文档,如下所示:

WebClient client = new WebClient();
var data = client.DownloadData(url);
var html = Encoding.UTF8.GetString(data); //use proper encoding

或者尝试使用HtmlAgilityPack