为什么字符 ë 有自己的 ISO 代码 (EB),而 ė 没有?



我在字符 ė(上面有一个点的小 e(上遇到了一个棘手的问题。我专门使用 FPDF 在 PHP 中生成 PDF 文件,它不支持 ė 字符。

我在维基百科上注意到 ė 的 ISO 十六进制与 ë 相同。两者都是EB。 https://en.wikipedia.org/wiki/Ė https://en.wikipedia.org/wiki/%C3%8B

为什么 ė 和 ë 在 ISO 中被视为同一字符?

你弄错了。

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 字节模式(

最新更新