以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  远程文件管理 中文是乱码,如何处理—已解决  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=24057)

--  作者:temblar
--  发布时间:2012/9/28 11:00:00
--  远程文件管理 中文是乱码,如何处理—已解决

如题  如图 谢谢
图片点击可在新窗口打开查看此主题相关图片如下:a.jpg
图片点击可在新窗口打开查看

远程文件管理点击管理出现 550错误解决: 根目录里填服务器根目录下的子目录

管理文件乱码问题: 更改服务器ftp文件名和路径编码,具体怎么改问baidu 吧,各人ftp的方式不一样。

我用的是 serv-u 10.2

 

打开serv-u管理控制台——服务器限制和设置——ftp设置——右键禁用opts utf8, 

全局属性——高级选项——去掉对所有已收发的路径和文件名使用utf-8的勾选

[此贴子已经被作者于2012-9-28 11:37:51编辑过]

--  作者:狐狸爸爸
--  发布时间:2012/9/28 11:39:00
--  
呵呵,学习。
--  作者:lin_hailun
--  发布时间:2012/9/28 12:27:00
--  
 才刷新看到解决方法……弄死哥了,还以为是你自己做的一个ftp管理小工具。

 下面是编码转换的一个方法。参考 http://msdn.microsoft.com/zh-cn/library/system.text.encoding%28v=vs.80%29.aspx

\'上传的时候,转换编码
Dim file As String = "文件.txt"
Dim bytes() As Byte
Dim utf As Encoding = Encoding.GetEncoding("utf-8")   \'这里填ftpClient的字符编码
Dim def As Encoding = Encoding.Default
Bytes = def.GetBytes(file)
Bytes = Encoding.Convert(def, utf, Bytes)   \'把本机的编码转换成ftpClient编码的字节数组
file = def.GetString(Bytes)   \'得到存储到ftpClient的字符(乱码)
\'Output.Show(file)
\'然后上传文件. 处理后,在本机是乱码,但上传到服务器,就正常


\'在本机显示的时候,也转换一下编码(因为是乱码)
Dim file As String = "鏂囦欢.txt"
Dim bytes() As Byte
Dim utf As Encoding = Encoding.GetEncoding("utf-8")   \'这里填ftpClient的字符编码
Dim def As Encoding = Encoding.Default
Bytes = utf.GetBytes(file)
Bytes = Encoding.Convert(utf, def, Bytes)
file = utf.GetString(Bytes)  
\'Output.Show(file)
[此贴子已经被作者于2012-9-28 12:27:26编辑过]