我正在使用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;
});
}
答案 0 :(得分:2)
我认为您的问题不是在TextBlock中显示文本,而是从服务器获取文本。您应该使用正确的编码加载文档,如下所示:
WebClient client = new WebClient();
var data = client.DownloadData(url);
var html = Encoding.UTF8.GetString(data); //use proper encoding
或者尝试使用HtmlAgilityPack