从 UTF-8 转换为 ISO8859-1 再转换回 UTF-8 后,符号会丢失

从 UTF-8 转换为 ISO8859-1 再转换回 UTF-8 后,符号会丢失

我有一个文件,其属性为法语。
我想将其转换为 ISO8859-1。
但转换后,一些符号丢失了。
这是怎么回事?

> cat fr.properties
VAR2="élément n’a"
> cat fr.properties | iconv -f UTF-8 -t ISO8859-1 | iconv -f ISO8859-1 -t UTF-8
VAR2="élément na"

答案1

该字符是否存在于 ISO8859-1 编码中?我不相信这是真的。这产生了这种预期的行为。

需要明确的是:iconv 的输出iconv -f UTF-8 -t ISO8859-1必须完全采用 ISO8859-1 编码。它不能将任何内容保留为 UTF-8。因此,如果输入文本中有一个字符无法用 ISO8859-1 表示,iconv 就会将其删除。

当您转换回来时,命令根本无法iconv -f ISO8859-1 -t UTF-8知道缺少的字符存在,因此您无法在另一端得到它。

相关内容