我想一个PHP文件(client.php)从UTF-8转换为ISO-8859-1和下面的命令不上的文件没有:的iconv在Mac OS X 10.7.3无助
的iconv -f UTF-8 -t ISO-8859-1 client.php
在执行时被显示的原始文件的内容。
事实上,当我检查该文件的编码执行的iconv与后:
文件-I client.php
古同UTF-8所示:
client.php:text/x-php; charset = utf-8
我想一个PHP文件(client.php)从UTF-8转换为ISO-8859-1和下面的命令不上的文件没有:的iconv在Mac OS X 10.7.3无助
的iconv -f UTF-8 -t ISO-8859-1 client.php
在执行时被显示的原始文件的内容。
事实上,当我检查该文件的编码执行的iconv与后:
文件-I client.php
古同UTF-8所示:
client.php:text/x-php; charset = utf-8
iconv应用程序应将文件中字符的编码从一个代码集转换为另一个代码集,并将结果写入标准输出。
这里有一个解决方案: 写入标准输出到一个临时文件并重新命名临时文件
iconv -f UTF-8 -t ISO_8859-1 client.php > client_temp.php && mv -f client_temp.php client.php
嘿@ jackjr300 !!有效!!恕我直言,在iconv中应该有一个标志允许覆盖输入文件。只是一个意见。我会在下次读取结果写入标准输出时意识到这一点。 – CarlesAndres
iconv中没有标志 – jackjr300
对于最低的128个字符,ASCII,UTF-8和ISO-8859是100%相同的编码。如果您的文件只包含该范围内的字符(这基本上是您在美国英语键盘上找到的一组字符),则这些编码之间没有区别。
我猜猜怎么了:纯文本文件没有关联的编码元数据。仅仅通过查看它就无法知道纯文本文件的编码。 file
实用程序正在做的只是给出最好的猜测,因为没有什么区别,它倾向于告诉你该文件是UTF-8编码的,从技术上讲很可能是这样。
我的文件包含一些西班牙文字符,它们不在ASCII集合中。实际上,我注意到当我使用下面的代码来编码文件时出现了错误:''。不管怎么说,还是要谢谢你。 – CarlesAndres
是否有文件,其中编码实际上有所作为任何非ASCII字符? – deceze