Windows到Linux的utf-8文件

我有一个文件的UTF-8编码在Windows中,当我在Windows下使用它显示永恒的权利,但是当我在Linux中复制文件,Unicode字符是giberish。 该文件是纯文本文件。 我怎样才能得到这个文件在Linux可读,或者我怎样才能正确地复制它?

提前致谢

看起来像一个Apache / PHP的问题

你是通过PHP的内置htmlspecialchars方法(或类似的)运行你的字符串? 如果是这样,您可能需要将其编码切换到UTF8

而不是htmlspecialchars($mytext) ,请尝试使用htmlspecialchars($mytext, ENT_COMPAT, 'UTF-8')


请注意以下(我以前的回答)不正确,正如Michael Burr所说,UTF-8不需要或不使用BOM。

如果只是文本,那么就有可能缺少字节顺序标记(BOM),或者编码的BOM不正确。

如果这是不正确的,Linux的读者可能会承认它,但你的Windows读者正在忽略它。 尝试重新打开你的文件像记事本+ +和重新保存。 记事本++在格式菜单中有一些关于保存UTF-8文件的选项。

确保您已经以二进制模式传输文件。 也试试iconv。

文件本身很好。 管道中的其他东西在文本发送到浏览器之前就搞砸了。 在应用程序中的各个位置回复文本,以确定哪个操作正在破坏它。