我想准备一个混合英语和阿拉伯语内容的演示html页面。 基本上它包含一张左边是英文短语的小桌子,右边是阿拉伯语翻译。如何强制Internet Explorer使用元标记中给出的编码?
因为我不懂阿拉伯语,所以我从Unicode reference中取出阿拉伯字母的前三个字符。
首先尝试,使用字符实体(ا ب &#x062A):它的工作原理(显示:اب&#x062A)。
我试图直接在文档中输入阿拉伯字符。为了实现这一点,我将文档保存为UTF-8并添加了内容类型的元标记。
显示该文档中的Internet Explorer(7)示出了垃圾:اöت
手动切换IE使用UTF-8(菜单 “查看 - >查看 - >的Unicode”)使得IE显示字符correclty。但只要文件重新加载,垃圾就会再次出现。
<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源不包含内容类型的元标记。
非常感谢!我通过复制/粘贴创建了元标记,但仅限于以“Content-Type”开头的部分。 – gyrolf 2009-06-09 07:17:59