- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想不出这个,但我在下面做了一个简单的演示。在 IE 或 Edge 中查看此页面时,它会正确呈现。我尝试过不同的编码,如 utf-16、Windows-1252,但没有用。对我来说,WebBrowser 控件看起来像是一个问题。有人能解决这个问题吗?
ArabicPage.html
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<p><i>اتفاقية</i></p>
<p>اتفاقية</p>
</body>
</html>
LayoutTest.xaml
<Page x:Class="WpfApp1.LayoutTest"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:WpfApp1"
mc:Ignorable="d"
Background="Yellow"
d:DesignHeight="450" d:DesignWidth="800"
Loaded="Page_Loaded"
Title="LayoutTest">
<WebBrowser x:Name="MyWebBrowser" Margin="20,5,0,5"/>
</Page>
LayoutTest.xaml.cs
using System;
using System.Text;
using System.Windows;
using System.IO;
using System.Windows.Controls;
namespace WpfApp1
{
public partial class LayoutTest : Page
{
public LayoutTest()
{
InitializeComponent();
}
private void Page_Loaded(object sender, RoutedEventArgs e)
{
string dirPath = AppDomain.CurrentDomain.BaseDirectory;
string fileName = "ArabicPage.html";
string filename = Path.GetFullPath(Path.Combine(dirPath, fileName));
string content = File.ReadAllText(fileName, Encoding.UTF8);
MyWebBrowser.NavigateToString(content);
}
}
}
如果没有斜体标签,它会正确呈现:
在 Edge 浏览器中呈现:
更新:
我已经使用 UWP webview 对其进行了测试,它在那里可以正常工作。
最佳答案
您可以通过使用正确支持阿拉伯字符的字体来避免它,例如 Tahoma:
<html lang="ar" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body style = "font-family:Tahoma,serif">
<p><i style = "font-size:26px;">اتفاقية</i></p>
<p style = "font-size:26px;">اتفاقية</p>
</body>
</html>
默认情况下,Windows 10 中的字体是 Segoe UI。好像是Windows 10的问题更多details from microsoft here .
编辑:
事实上,您可以在 Windows 10 设置/字体页面(按阿拉伯语筛选)中看到,Segoe UI
字体有一个独立于 Regular 字体的斜体字体,与 Tahoma 相反
斜体包含在常规字体中。虽然当我在此设置中尝试使用 Segoe UI
作为所选字体时,阿拉伯语单词示例令人惊讶地正确渲染了所有可用字体样式的字符。
关于c# - 使用 WPF 网页浏览器和带有斜体标签和阿拉伯文本的 HTML 时出现奇怪的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61678871/
我需要在 MYSQL 数据库中输入 10 种语言的内容(有问题的是:中文、俄语、阿拉伯语),客户端应该能够通过 phpMyAdmin 和管理区域读取和编辑它们。 我使用过 utf8-bin、utf8_
我在 VBA 用户窗体中创建了一个 ListView 。 Listview 显示用户在 3 个文本框中插入的数据(单击“保存”按钮后)。用户可以在希伯来语中插入文本,但在 ListView 中,文本显
我是一名优秀的程序员,十分优秀!