我正在尝试准备一个包含英语和阿拉伯语混合内容的演示 html 页面。
基本上它包含一个小桌子,左边是英语短语,右边是阿拉伯语翻译。
因为我不懂阿拉伯语,所以我从 中取出了阿拉伯字母的前三个字符统一码参考 http://www.unicode.org/charts/PDF/U0600.pdf.
第一次尝试,使用字符实体 (ا ب ت):它有效(显示:? ?)。
我尝试直接在文档中输入阿拉伯字符。为了实现这一点,我将文档保存为 UTF-8 并添加了内容类型的元标记。
在 Internet Explorer (7) 中显示此文档显示垃圾:ا Øě ت
手动将 IE 切换为使用 UTF-8(菜单“查看 -> 查看 -> Unicode”)可以使 IE 正确显示字符。但一旦重新加载文档,垃圾就会再次出现。
<html>
<head>
<meta content="content-type" content="text/html; charset=utf-8">
</head>
<body>
<table width="95%" border="1">
<colgroup><col width="50%" /><col width="50%" /></colgroup>
<tbody>
<tr>
<th>English</th><th>Arabic</th>
</tr>
<tr>
<td>Test phrase</td>
<td dir="rtl">ا ب ت</td>
</tr>
</tbody>
</table>
</body>
</html>
使用 Firefox 进行测试显示了正确的阿拉伯字母。 (但是“rtl”方向的解释不同:IE 显示文本右对齐,Firefox 左对齐。)
有什么提示如何说服 IE 使用文档中给出的编码吗?
这是本地存储的html文件的效果吗?编辑此 StackOverflow 条目时,我观察到
- 阿拉伯字符按预期呈现,
- 菜单中的编码自动切换为“Unicode (UTF-8)”,
- 并且 html 源不包含内容类型的元标记。