我遇到一个棘手的问题,字符e(小e上面有一个点)。我专门使用FPDF在PHP中生成PDF文件,它不支持ė字符。
我在Wikipedia上注意到ė的ISO十六进制与ë相同。两者都是EB。 https://en.wikipedia.org/wiki/Ė https://en.wikipedia.org/wiki/%C3%8B
为什么ISO和ë在ISO中被视为相同字符?
答案 0 :(得分:3)
你弄错了。
ISO是一个标准组织,它有许多标准。 Unicode还具有并行的ISO标准(ISO 10646)。我们还有其他用于文本的ISO标准。
您正在寻找由多个部分组成的ISO 8859:https://en.wikipedia.org/wiki/ISO/IEC_8859
这是一个8位字符编码器,因此您的字符集非常有限(256个减32个字符)。因此,有许多不同的部分,其中一个会选择最适合自己的国家/语言的部分。您可以选择西欧语言的Latin-1,或更好的Latin-9(第15部分),其中包括“新”字符:欧元符号(货币)。
在您的示例中,您具有特定于语言的代码EB
。在第13部分(拉丁文7)中,它是ė
(波罗的海语),但是在第1、2、3、4、9、10、14、15和16部分中,它是ë
。如您所见,此变体在更多的语言中使用,因此在大多数ISO 8859部件中都可用。在上面我链接的页面中,您还会看到该表,其中包含每个代码/值的每个变体。
现在的主要问题是检测原始编码。对于无法评估文本的语言(例如拼写)的人来说,这可能是个大问题。对于新文本,最好使用唯一的Unicode(真实文本没有Unicode字节模式)