在 Latin 1 --> UTF-8 中是否存在我需要修复的隐藏编码错误?
Are there hidden encoding errors that I need to fix in Latin 1 --> UTF-8?
我还需要 运行 对看起来完全没问题的文本进行完整的 latin1 到 UTF 8 的转换吗?
我正在更换论坛软件,旧的论坛数据库使用 Latin1 编码。新的论坛数据库对 tables 使用 UTF8 编码。
导入程序脚本似乎直接从一个 table 复制到另一个 table,没有尝试修复任何编码问题。
我一直在根据此处列出的转换信息使用查找和替换手动修复可见错误:http://www.i18nqa.com/debug/utf8-debug.html
文本的其余部分看起来不错并且完全可读。
我有限的理解是,UTF-8 向后兼容 ASCII,而 Latin1 主要是 ASCII,因此只有边缘情况不同,需要更新。
所以我还需要 运行 对看起来完全没问题的文本进行完整的 latin1 到 UTF 8 的转换吗?
我宁愿不这样做,因为我已经更改了一些字段上的一些 BB 代码标签,这些标签存储在 UTF 8 中后,所以担心这些更新会在中间卡住 UTF8 字符Latin1 字符,并尝试对混合字符集进行完全转换只会让事情变得更糟。
ISO 8859-1(拉丁语 1)中 0x80..0xFF 范围内的任何字符都需要在 UTF-8 中重新编码为 2 个字节。第一个字节是 0xC2 代表 0x80..0xBF;第一个字节是 0xC3 代表 0xC0..0xFF。第二个字节通过将两个最高有效位设置为 1 和 0 从 Latin 1 的原始值派生而来。对于字符 0x80..0xBF,第二个字节的值与 Latin 1 相同。如果您使用 8859- 15,你可能会有一些更复杂的转换(欧元符号的编码与其他拉丁 1 字符不同)。
有很多工具可以提供帮助。 iconv
就是其中之一。
我还需要 运行 对看起来完全没问题的文本进行完整的 latin1 到 UTF 8 的转换吗?
我正在更换论坛软件,旧的论坛数据库使用 Latin1 编码。新的论坛数据库对 tables 使用 UTF8 编码。
导入程序脚本似乎直接从一个 table 复制到另一个 table,没有尝试修复任何编码问题。
我一直在根据此处列出的转换信息使用查找和替换手动修复可见错误:http://www.i18nqa.com/debug/utf8-debug.html
文本的其余部分看起来不错并且完全可读。
我有限的理解是,UTF-8 向后兼容 ASCII,而 Latin1 主要是 ASCII,因此只有边缘情况不同,需要更新。
所以我还需要 运行 对看起来完全没问题的文本进行完整的 latin1 到 UTF 8 的转换吗?
我宁愿不这样做,因为我已经更改了一些字段上的一些 BB 代码标签,这些标签存储在 UTF 8 中后,所以担心这些更新会在中间卡住 UTF8 字符Latin1 字符,并尝试对混合字符集进行完全转换只会让事情变得更糟。
ISO 8859-1(拉丁语 1)中 0x80..0xFF 范围内的任何字符都需要在 UTF-8 中重新编码为 2 个字节。第一个字节是 0xC2 代表 0x80..0xBF;第一个字节是 0xC3 代表 0xC0..0xFF。第二个字节通过将两个最高有效位设置为 1 和 0 从 Latin 1 的原始值派生而来。对于字符 0x80..0xBF,第二个字节的值与 Latin 1 相同。如果您使用 8859- 15,你可能会有一些更复杂的转换(欧元符号的编码与其他拉丁 1 字符不同)。
有很多工具可以提供帮助。 iconv
就是其中之一。