小弟最近用C#写了一个连接ftp服务器拷贝文件的程序(程序内使用的是GB2312编码),之前部署程序的服务器区域语言设置的是中国时区,ftp服务器里的文件或者文件夹含有中文,也能正常显示和拷贝。后来由于某种原因,部署服务器需要把区域语言设置为美国,结果程序连接ftp服务器,所有的汉字都乱码了,甚至在部署服务器上用ie直接访问ftp,汉字也不能正常显示。但是部署服务器可以建立中文文件夹,显示不会乱码。小弟我被这些编码搞糊涂了,有人能帮帮我吗?不知道我的问题说清楚了没?分不多,20分意思下,感谢

解决方案 »

  1.   

    试一试这个:System.Text.Encoding.UTF8
      

  2.   

    谢谢,我去测试下看看,另有没有办法不修改部署服务器的区域语言选项,修改别的设置,让部署服务器用ie访问有中文的ftp,能正常显示?感谢。
      

  3.   

    楼上说得没错,传输性编码最好是用UTF-8
      

  4.   

    问题还没有解决,刚刚我看了下程序,以前的编码不是GB2312,而是Encoding.Default,之前用GB2312也出错,刚改成了UTF-8,运行程序,当扫描到中文目录时,显示找不到这个路径或文件(no such file)崩溃啊不知道我哪里错了
      

  5.   

    我又把程序的编码改成gb2312,在区域语言为中文时运行出错,现在区域语言为英文,反而能正确显示ftp中的中文,虽然问题解决,我还是一头雾水结贴,散分,感谢各位大大