java为什么读取中文是乱码,JAVA读写文件,如何避免中文乱码
这篇文章给大家聊聊关于java为什么读取中文是乱码,以及JAVA读写文件,如何避免中文乱码对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。
java 读txt中文乱码
txt文档一般是GBK编码格式的,你可以将它另存一下,改为Utf-8格式,你也可以将你的开发工具调成GBK编码格式,总之就是将你的开发环境的编码格式与你要读取的txt文件的编码格式调成一致的。或者此处你可以使用java的转换流,指定编码格式去读取txt文件,就是使用InputStreamReader(new FileInputStream(“filepath”),"GBK"),如果还是乱码,你就再换编码格式,不是UTF-8就是GBK
java程序中文汉字会乱码
我遇到过和你一样的错误,
在你编写String gb= new String(“数据库查处来的中文”.getBytes("ISO-8859-1"),"UTF-8");这句话的时候请注意一下“数据库查处来的中文”必须是ISO-8859-1编码,否则转换失败。
另外光数据库是UTF-8编码是不行的,请确定一下数据库建表的时候是否设置成UTF-8编码。
希望我的回答能够帮助你,谢谢
怎么解决读取txt文件读取时中文乱码问题
从SDCard保存的txt文件读取中文到android系统中会出现乱码问题,如何解决这个乱码问题,网上有不少解答方法,譬如说利用String temp1=EncodingUtils.getString(strLine.getBytes(),"GB2312");但并非对所有的情况都适用,解决乱码问题首先要明白为什么会乱码。究其原因,是因为txt文件在win系统上保存时默认为ANSI格式,而android目前只支持UTF-8编码,因此将txt文件的中文读入android系统中会产生乱码。也有人说直接将txt另存为UTF-8编码格式来解决乱码问题,但这种方法指标不治本,不能要求用户手动去更改格式,客户第一嘛。因此还是需要想办法在程序中进行处理。
以下做了一些编码格式的测试:
测试文本: 122.11196,29.90573,北仑固废厂测试代码段:
reader=new BufferedReader(new FileReader(filename));
strLine=reader.readLine();
String temp1= EncodingUtils.getString(strLine.getBytes(),"GB2312");
String temp2= EncodingUtils.getString(strLine.getBytes("utf-8"),"utf-8");
String temp3= EncodingUtils.getString(strLine.getBytes(),"utf-8");
将文件存成 Unicode格式
这种方式能得到非乱码的中文显示,但对于 utf-8格式下取得的经纬度数字利用double lon= Double.parseDouble(lat);报错 NumberFormatException,原因可能是 parseDouble(lat)方法不能处理存成utf-8格式的带标点小数。将文件存成 ANSI格式
将代码改为:
reader= new BufferedReader(new InputStreamReader(new FileInputStream(filename),"GB2312"));
strLine=reader.readLine();
String temp1= EncodingUtils.getString(strLine.getBytes(),"GB2312");
String temp2= EncodingUtils.getString(strLine.getBytes("utf-8"),"utf-8");
String temp3= EncodingUtils.getString(strLine.getBytes(),"utf-8");
即解决了中文乱码问题,又解决了Double.parseDouble(lat)报错问题。
JAVA读写文件,如何避免中文乱码
1、你要将所有的文件的编码都设置成UTF-8,还有,你的MyEclipse或者Eclipse应该配置jsp还有java文件还有项目都设置为UTF-8.
2、eclipse中使用模板新建 JSP,xhtml等文件时,默认的编码为:ISO-8859-1。 ISO-8859-1编码对于中文的显示是不支持的,如果要支持简体中文,则编码方式应为 GBK或者 GB2312或者 UTF-8(推荐)等。右键菜单栏window--> preferences-->在type filter text中输入jsp;--> 选择下面的jsp->选择creating files组中的encoding为UTF-8编码就可以了
如果要使新建立工程、java文件直接使UTF-8则需要做以下工作:
1、windows->Preferences...打开"首选项"对话框,左侧导航树,导航到general->Workspace,右侧 Text file encoding,选择Other,改变为UTF-8,以后新建立工程其属性对话框中的Text file encoding即为UTF-8。
2、windows->Preferences...打开"首选项"对话框,左侧导航树,导航到general->Content Types,右侧Context Types树,点开Text,选择Java Source File,在下面的Default encoding输入框中输入UTF-8,点Update,则设置Java文件编码为UTF-8。其他java应用开发相关的文件如:properties、XML等已经由Eclipse缺省指定,分别为ISO8859-1,UTF-8,如开发中确需改变编码格式则可以在此指定。
关于java为什么读取中文是乱码的内容到此结束,希望对大家有所帮助。