这个问题说明了一切。是否可以使用ASCII模式通过FTP传输UTF-8文件?或者这会导致字符写错吗?谢谢!
答案 0 :(得分:3)
UTF-8编码旨在向后兼容ASCII编码。
RFC 959要求FTP客户端和服务器将ASCII模式下的文件视为8位:
3.1.1.1。 ASCII TYPE
...
发件人转换内部字符的数据 表示标准的8位NVT-ASCII 表示(参见Telnet规范)。收件人 将数据从标准格式转换为自己的格式 内部形式。
按照NVT标准,顺序 应该在必要时用来表示一行的结尾 的文字。 (最后参见文件结构的讨论 数据表示和存储部分。)
...
使用标准NVT-ASCII表示意味着数据 必须解释为8位字节。
因此即使UTF-8不知道的FTP客户端或服务器也应该正确地转换行结尾,因为它们在ASCII和UTF-8中编码相同。他们不应该腐蚀其他角色。
从实际角度来看:我还没有遇到过8位文本文件存在问题的服务器。我是捷克人,所以我经常使用UTF-8,过去使用Windows-1250和ISO / IEC 8859-2 8位编码。
答案 1 :(得分:-2)
RFC 2640,从1999年开始,更新FTP协议以支持国际化。它要求FTP服务器在2.2节中使用UTF-8作为传输编码。因此,只要您不尝试上传到DEC TOPS-20服务器(stores five 7-bit bytes within a 36-bit word),您就可以了。