Php 如何使用utf-8字符的ftp_put

Php 如何使用utf-8字符的ftp_put,php,utf-8,ftp,Php,Utf 8,Ftp,我正在使用一个自定义函数,该函数使用fopen()创建一个文本文件,然后使用ftp_将该文本文件上传到服务器上,并将其置于ASCII模式 我的问题是,一旦上传文件并在我的文本编辑器中打开它,重音就会自动转换成乱七八糟的字符,而不是保持不变 我知道UTF-8没有FTP传输模式,所以打开上传的文件后,我应该使用什么php函数来保持UTF-8字符的正确格式 fopen(..., 'w+') original string : é ftp_put(...., FTP_ASCII) once the fi

我正在使用一个自定义函数,该函数使用fopen()创建一个文本文件,然后使用ftp_将该文本文件上传到服务器上,并将其置于ASCII模式

我的问题是,一旦上传文件并在我的文本编辑器中打开它,重音就会自动转换成乱七八糟的字符,而不是保持不变

我知道UTF-8没有FTP传输模式,所以打开上传的文件后,我应该使用什么php函数来保持UTF-8字符的正确格式

fopen(..., 'w+')
original string : é
ftp_put(...., FTP_ASCII)
once the file is uploaded, the string looks like: én

谢谢不要使用FTP\u ASCII。此模式自动将FTP客户端的平台标准中的行尾转换为FTP服务器的平台标准。始终使用二进制模式-这将传输所有文件不变


然后:您如何检查文件是否正确上传,以及您实际如何传输数据?

FTP\u二进制不走运,我使用FTP\u fget(…FTP\u二进制,0)获取文件,然后使用fputcsv在其中写入一些内容,然后使用FTP\u put(…,FTP\u二进制)并没有回答我的问题。请注意,细节非常重要。基本上,出现一点错误或一些字节错误是导致问题的原因,但只有在不跳过实际操作的重要细节,只怪FTP的情况下,才能对其进行分析。我认为FTP不是这里的问题,它是“写一些内容”到下载的文件。检查内容的编码是否正确。打印出内容所包含的字节(使用
urlencode()
以方便字节转储输出)。