谁用VC6.0做过FTP客户端,能支持中文文件上传的,来救救我啊!!

来源:百度知道 编辑:UC知道 时间:2024/07/06 10:47:15
正在做FTP上传的功能,碰到中文的文件 上传就失败了。。。
也在网上搜过了,说改成Unicode版本就行,,,
可是,改成Unicode,还是不行。。。
急死了~~!!!

下载带有中文的文件就没问题吗?

中文网址有个转码的步骤,比如汉字‘一’,在网址里体现是‘%E4%B8%80’,你的程序要做这么一个转换。

可以google里搜索任一字符,然后再他对应的网址上就会显示出来。

一个汉字对应3个 %xx%xx%xx
首先把wchar按照 utf8格式转换下,有现成函数
WideCharToMultiByte ( CP_UTF8,0, sourcename, -1, utf8_url, 512, 0, 0);
这样转完后,会发现英文的字符的数值是大于0的,中文是小于0的,并且一个汉字由3个数值组成

然后再将这个字符串用自定义函数转成正确的网址,即英文部分不变,中文部分专程16禁止显示(格式化小于0的数值为16禁止并在前面加一个'%')

用libcurl不是很简单么,文件编码可以兼容的
不要把工程属性改为UNICODE,那需要修改很多CHAR变量定义和很多函数。