【加急】Linux的FTP服务器中文乱码问题。

windyloft 2012-10-29 10:09:04
我用MFC写了一个从FTP服务器下载的程序。
现在遇到一个问题。
在文件名字有中文的时候就不好用了,显示都是乱码,也下载不下来。
FTP服务器是Linux的。
...全文
1002 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanjingshe001 2013-12-04
  • 打赏
  • 举报
回复
请问FTP的设置是怎么修改的。
windyloft 2012-12-11
  • 打赏
  • 举报
回复
最终通过修改FTP服务器设置解决的。
windyloft 2012-10-31
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]

只有文件名字有混乱的话,那就排除了主机序和网络序的问题了。

最后尝试下

http://topic.csdn.net/u/20121022/18/9ade5bfb-e9bf-460d-8854-9d7f11933e99.html?80653

这个帖子中我的转换函数吧。
[/Quote]
有的汉字能转成功,有的还是乱码?
这是什么问题?
hdg3707 2012-10-29
  • 打赏
  • 举报
回复
接收完文件件后,把文件名转换成多字节或UNICODE,也就是服务器上的是UTF-8,但WINDOW操作系统不是这个编码,所以你把UTF-8转换成GB2312或GB18030
傻X 2012-10-29
  • 打赏
  • 举报
回复
只有文件名字有混乱的话,那就排除了主机序和网络序的问题了。

最后尝试下

http://topic.csdn.net/u/20121022/18/9ade5bfb-e9bf-460d-8854-9d7f11933e99.html?80653

这个帖子中我的转换函数吧。
windyloft 2012-10-29
  • 打赏
  • 举报
回复
2.文件内容是否正确,只是名字混乱么?

拷贝过来后,文件可以使用么?仅仅是名字混乱?

->对只是文件名有乱码。
CString strAllFilePath = finder.GetFilePath();
strAllFilePath // 中文文件时,这个就是乱码
windyloft 2012-10-29
  • 打赏
  • 举报
回复
1.setLocal使用了么?
setlocale(LC_ALL, "zh_CN.UTF-8");
是这个吗,加了,没用。
windyloft 2012-10-29
  • 打赏
  • 举报
回复
文件内容没有问题,不是乱码
傻X 2012-10-29
  • 打赏
  • 举报
回复
setlocale 少了个E
傻X 2012-10-29
  • 打赏
  • 举报
回复
1.setLocal使用了么?

2.文件内容是否正确,只是名字混乱么?

拷贝过来后,文件可以使用么?仅仅是名字混乱?
windyloft 2012-10-29
  • 打赏
  • 举报
回复
1.把整个代码转换成Unicode码制
现在已经是Unicode了。
另外,FTP的编码是UTF-8的。

2.看看是不是存在大小端的问题。
这个得怎么弄?
傻X 2012-10-29
  • 打赏
  • 举报
回复
尝试下以下2个措施

1.把整个代码转换成Unicode码制

2.看看是不是存在大小端的问题。
windyloft 2012-10-29
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]

接收完文件件后,把文件名转换成多字节或UNICODE,也就是服务器上的是UTF-8,但WINDOW操作系统不是这个编码,所以你把UTF-8转换成GB2312或GB18030
[/Quote]
中文文件名的文件下载不下来。

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧