Unix与Windows渲染角色

时间:2009-02-05 18:29:43

标签: unix unicode character-encoding

我有一个文本文件,在FreeBSD与Windows中打开时显示不同。

在FreeBSD上: An·lisiseInvestigaciÃ> n

在Windows上: AnálisiseInvestigación

Windows表示显然是正确的。关于如何在bsd中获得结果的任何想法?

7 个答案:

答案 0 :(得分:10)

答案 1 :(得分:4)

问题在于它不是ASCII,而是UTF-8。您必须使用另一个编辑器来正确检测编码或将其转换为freebsb上的编辑器可以理解的内容。

答案 2 :(得分:1)

这不是纯ASCII。这是utf-8。尝试使用utf-8支持的freebsd编辑器或更改语言环境。

答案 3 :(得分:1)

从显示字符的方式来看,我会说该文件是UTF-8编码的unicode。 Windows正在认识到这一点,并且正确地显示'á'和'ó'字符,而FreeBSD假设它是ISO-8859-1,这导致这些字符显示为2个单独的字符(由于使用2的UTF-8编码)字节)。 你必须以某种方式告诉FreeBSD它是一个UTF-8文件。

答案 4 :(得分:0)

文件是如何编码的?我会尝试将文件重新编码为UTF-16。

答案 5 :(得分:0)

所以在做了更多的挖掘之后如果1)打开mac中的excel中的csv文件并将其导出为csv文件和2)然后在textmate中打开它,复制文本,然后再次保存它可以工作。

结果:file file.csv是

UTF-8 Unicode英文文本,行很长

原文是:

on-ISO extended-ASCII英文文本,行很长

这种解决方法并不合适,因为此过程应该是自动化的,感谢目前为止的帮助。

答案 6 :(得分:0)

打开文件时,您正在使用哪个操作系统并不重要。重要的是您用来打开它的应用程序。在Windows上,您可能正在使用记事本,它会自动将编码标识为UTF-8。

你在FreeBSD上使用的应用程序显然没有这样做。也许它只是无法读取UTF-8而您需要使用其他应用程序。或者你可能只需要告诉它使用哪种编码。字符编码的自动检测远非普遍(远离完美)。