c# - WPF在TextBlock中显示马拉雅拉姆语
问题描述
我正在开发一个 WPF 应用程序以从网页中提取标题栏(语言为马拉雅拉姆语)并显示在 textBlock 上。我面临的问题是显示文本(马拉雅拉姆字母)被问号/注册标志类型的租船人取代。
如何在 WPF 文本块或文本框中正确呈现马拉雅拉姆字体?
这是 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;
});
}
解决方案
我认为您的问题不是在 TextBlock 中显示文本,而是从服务器获取文本。您应该使用正确的编码加载文档,如下所示:
WebClient client = new WebClient();
var data = client.DownloadData(url);
var html = Encoding.UTF8.GetString(data); //use proper encoding
或者尝试使用HtmlAgilityPack
推荐阅读
- firebase - /src/firebase.js 未找到模块:无法在“/Users/anujgoyal/Desktop/reels/src”中解析“firebase”?
- redis - Redis 多次调用 vs lua 脚本
- c# - winform 文本框不显示文本
- flutter - 如何防止 Flutter Web 使用 Canvaskit?
- phpmyadmin - 带有日文汉字字符的 csv 文件未在 mysql 数据库中导入
- variables - 想在一行代码上从 split() 分配多个变量
- python - Python int 太大而无法转换为 SQLite INTEGER
- wordpress - 从 Integromat 在 Wordpress 中分配自定义分类
- android-studio - 我无法使用 Android stduio 制作 Wear OS 项目
- karate - 从桌面应用程序切换到现有的 chrome 浏览器