在使用公司的ftp服务器的时候,上传文件夹出现问题,但并不总能重现,问题包错误如下:

451 No mapping for the unicode character exists in the target multi-byte code page

出现这个问题的原因是,文件夹里面既有英文文件,又有中文名文件,导致windows识别出错.

解决办法:
在crontina那里输入IIS,打开IIS服务器,然后找到FTP服务,可以看到配置编辑器,点击右键,选择高级配置,把允许utf8改成false,保存,然后重启ftp服务即可.

windows10 ftp 451 No mapping for the unicode character exists in the target multi-byte code page_ico

windows10 ftp 451 No mapping for the unicode character exists in the target multi-byte code page_多语言_02

windows10 ftp 451 No mapping for the unicode character exists in the target multi-byte code page_多语言_03

出现这个问题的深层原因是:
中国这边windows系统使用的是中文简体编码.
在cmd里面输入以下命令,即可查看系统默认编码集:

C:\Users\Administrator>chcp
活动代码页: 936

下表列出了所有支持的代码页及其国家(地区)或者语言:

代码页

国家(地区)或语言

437

美国

708

阿拉伯文(ASMO 708)

720

阿拉伯文(DOS)

850

多语言(拉丁文 I)

852

中欧(DOS) - 斯拉夫语(拉丁文 II)

855

西里尔文(俄语)

857

土耳其语

860

葡萄牙语

861

冰岛语

862

希伯来文(DOS)

863

加拿大 - 法语

865

日耳曼语

866

俄语 - 西里尔文(DOS)

869

现代希腊语

874

泰文(Windows)

932

日文(Shift-JIS)

936

中国 - 简体中文(GB2312)

949

韩文

950

繁体中文(Big5)

1200

Unicode

1201

Unicode (Big-Endian)

1250

中欧(Windows)

1251

西里尔文(Windows)

1252

西欧(Windows)

1253

希腊文(Windows)

1254

土耳其文(Windows)

1255

希伯来文(Windows)

1256

阿拉伯文(Windows)

1257

波罗的海文(Windows)

1258

越南文(Windows)

20866

西里尔文(KOI8-R)

21866

西里尔文(KOI8-U)

28592

中欧(ISO)

28593

拉丁文 3 (ISO)

28594

波罗的海文(ISO)

28595

西里尔文(ISO)

28596

阿拉伯文(ISO)

28597

希腊文(ISO)

28598

希伯来文(ISO-Visual)

38598

希伯来文(ISO-Logical)

50000

用户定义的

50001

自动选择

50220

日文(JIS)

50221

日文(JIS-允许一个字节的片假名)

50222

日文(JIS-允许一个字节的片假名 - SO/SI)

50225

韩文(ISO)

50932

日文(自动选择)

50949

韩文(自动选择)

51932

日文(EUC)

51949

韩文(EUC)

52936

简体中文(HZ)

65000

Unicode (UTF-7)

65001

Unicode (UTF-8)

然后ftp那边设置的是utf8=true,那就只能输入utf8格式的文件了,所以要把这个编码检测设置为否,允许任何编码的文件上传.