问题描述
我有阿拉伯语文本(.sql
纯文本)。当我在任何文档中查看它时,它显示如下:
Øر٠اول الÙباى انگليسى ØŒ Øر٠اضاÙÙ‡ مثبت
但是当我使用带有 <Meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
的 HTML 文档时,它正确显示如下:
حرف اول الفباى انگليسى ، حرف اضافه مثبت
如何将其转换为可读文本?
解决方法
阿拉伯文本已使用 UTF-8 编码为字节。
您明确告诉 HTML 文档字节是用 UTF-8 编码的,这就是为什么任何 HTML 查看器都能够正确显示文本的原因。
但是,任何其他文本查看器都不会知道字节是以 UTF-8 编码的,除非您将 UTF-8 BOM 放在文本前面,并且查看器支持 BOM。否则,正如您所看到的,文本查看器可能会转而解释 Latin-1 或类似编码中的字节。因此,您必须手动告诉文本查看器将字节解释为 UTF-8。但是您实际上如何做到这一点取决于您使用的特定文本查看器。并非所有观看者都提供此选项。