在用COMMON-NET处理FTP时,遇到中文出现了乱码问题,乱码问题早先在做信息抽取的时候也遇到过,当时记得用第三方的词典,但是其是GBK编码,而我系统为UTF-8。
这次也一样,工程为UTF-8,但是用COMMON-NET从FTP上下载文件的时候,中文乱码。无奈,上网搜,结果各种尝试,各种不行。
靠人不如靠己,查看FTP这个类,发现:
public static final String DEFAULT_CONTROL_ENCODING = "ISO-8859-1"
COMMON-NET的默认是“ISO-8859-1”编码,也就是其从服务器上读取的文件,都是按照ISO-8859-1编码方式处理的,在工程中返回字符串时,已经是乱码,所以不管怎么改,都是乱码。
The default character encoding used for communicating over an FTP control connection. The default encoding is an ASCII-compatible encoding. Some FTP servers expect other encodings. You can change the encoding used by an FTP instance with setControlEncoding.
FTP服务器是GBK的,所以将值改为GBK后,在UTF-8的工程中就可以正确解读中文了。
写到这里,不深入,下次遇到这个问题还会被卡住。不妨探究下问题的根本。
是什么导致中文乱码的?
当磁盘上的文件的编码和我们系统中的编码不一致的时候,此时读文件就会产生乱码,一般文件的I/O都是以字节流的方式read和write。当系统是UTF-8,而原始文件是GBK,那么系统按照UTF-8的方式encoding GBK的文件,就会产生字节错位,所以会产生乱码。
知道了如何产生乱码,接下来的问题就是如何解决乱码问题。
首先我们得知道原始文件是什么样的编码格式,如果不晓得原始文件是什么编码,那必须写一个字符检测程序(这一点浏览器做的是相当的好,不论是什么编码格式的网页,浏览器都能自动的检测出,并且转换成我们本地的格式,从而我们不会看到乱码);
知道是什么编码的文件,那么我们就按照相应格式的文件编码格式读取文件,比如是UTF-8的文件,那么就以UTF-8的格式读取文件,这个格式与我们的工作平台无关,此时如果我们的工作平台是GBK编码,那么放心,绝不会出现乱码。
分享到:
相关推荐
java开发乱码问题处理大全,让你迅速成为高手
在Java编程中,经常会碰到汉字的处理及显示问题,以不小心就会产生一大堆乱码或者问号。造成这种问题的根本原因是Java中默认的编码方式是Unicode,而中国人通常使用的文件和DB都是基于GB2312或BIG5等编码,故会出现...
开发中前台页面向后台传参,汉字乱码,看了好多网上的方法都解决不了,所以写了一个工具类,判断是乱码就转换,不乱码就不乱换,汉字字母符号自动判断。最后完美解决汉字乱码问题。
Jsp输出中文的乱码问题,获取表单提交的数据时的中文乱码问题,url中的中文问题,数据库中采取的编码方式不同于utf-8怎么办
在开发web项目时经常遇到乱码问题,怎样去解决这种问题,是很头疼的事情,这里总结了几种方法供使用。
在java Web应用开发常见的问题中,中文的乱码问题在页面中没有统一的方法解决,造成程序员浪费大量的时间与精力且代码效率不高,因此提出了新的乱码算法,并设计了通用的乱码处理器,提高了程序员的工作效率.
第一次融入CSDN大家庭,欢迎大家的指教! 所上传的内容,是根据自己平时学习过程中,遇到的问题,所做的归纳小结,现发出来,供大家参考学习!其中有不正确的地方,也希望大家批评指正!
为了解决软件开发人员在java Web编程中处理中文信息出现乱码的问题。对java Web编程的各个环节进行深入细致的研究,针对处理中文信息出现乱码的关键点,利用处理技术的核心代码提出解决方法。为java Web编程者处理中文...
在Java Web程序开发中,由于Web容器内部使用编码格式并不支持中文字符集,所以,处理浏览器请求中的中文数据就会出现乱码的现象。由于Web容器使用了ISO-8859-1的编码格式,所以在Web应用的业务处理中也会使用ISO-...
WEB开发中总会遇到乱码,这些都是经常出现,但是很烦的问题,处理起来并不难
源代码中的中文因为编码问题,在eclipse等开发环境中显示为乱码。找到的次工具可以“批量”处理转换,解决乱码问题:将GBK编码转换为UTF8编码
处理表单提交页面出现乱码现象,第三方开发。
java压缩中文处理使用org.apache.tools.zip已经打包成jar 只要放在LIB文件夹下,然后在JSP 或 JAVA 里引用即可。 <%@ page language="java" import="java.sql.*,java.io.*,org.apache.tools.zip.Zip" pageEncoding=...
件上传和下载是web开发中常遇到的问题。今天小编给大家分享下Java Web实现文件下载和乱码处理方法的相关资料,需要的朋友可以参考下
在java web开发中,处理中文字符时经常会出现乱码问题。该文从java Web工程字符编码理论出发,介绍了java Web程序开发中常用的字符编码集,分析出现中文乱码的原因,并给出解决方法。
java web开发基础知识、xml讲解、中文乱码处理等web开发中经常遇到的问题
在java web开发中,处理中文字符时经常会出现乱码问题。该文从java Web工程字符编码理论出发,介绍了java Web程序开发中常用的字符编码集,分析出现中文乱码的原因,并给出解决方法。