这里有点奇怪的问题。
我在我的工作机器上使用FileZilla和Notepad++。
基本上,每当我上传PHP脚本时,所有的代码都会变成随机字符
例如,此代码:
<?php echo 'hello world'; ?>
变成
<?php 攀挀栀漀 ✀栀攀氀氀漀✀㬀ഀ ?>
我的FTP传输模式设置为ASCII。我做错了什么吗?FTP设置不好吗?
谢谢Peter
ftp客户端会破坏输入的字符集。将上传模式更改为二进制,就完成了。
祝你的新办公室好运!xD
只有当您使用纯文本文件,并且只有当您的代码、脚本需要正确编码文本文件时,ASCII模式的ftp传输才有用。
ASCII模式实际上意味着"将此文件作为文本文件处理"
可能需要正确编码的文本文件是"真正的文本文件":txt,ini,conf(php输出html/xml,然后行结尾不相关)
FTP ASCII模式对行尾字节的替换可能会损坏整个文件,并带有一些编码。。。实际上,UTF-8不应该发生这种情况,那么,显然,您正在使用其他编码。。。
在我看来,在2012年,最好保持文件的上传状态:客户端、脚本和应用程序应该能够正确解析任何系统的任何文本文件。
然后:以二进制形式上传,并确保您的脚本可以处理任何行结束的字节序列
例如,如果您需要按行尾进行拆分,请使用
// works everywhere with any file with any line ending
preg_split('/'r'n|'r|'n/', $text);
而不是
// works everywhere but only with files that contain
// line endings equivalent to the actual PHP_EOL content
explode(PHP_EOL, $text);
希望已经清楚了。。。请随意纠正我的英语!