您的位置:首页 > 编程语言 > Java开发

Java读写文件中文乱码问题折腾一个周末重要解决

2015-07-26 20:42 513 查看
在用Java编程的过程中遇到一个非常奇怪的问题,折腾了一两天,现在终于解决。

之前老是出现“馄斤拷”这样的乱码,从文件中读取来的字符,英文显示正常,而一遇到中文,全部乱码。



要不出现乱码,必须做扎实这么几条:

1. 读入的文件编码一定要清楚,要设置必须准确设定,比如UTF-8就是UTF-8,不能确定文件编码时,用工具比如NOTEPAD++把文件打开,然后选择指定编码保存一遍。我之前其实程序已经没有问题,但是由于误认为要读取的文件已经是UTF-8,其实不是,所以实验许多遍都失败了,关键就是这一步没有做好。



2. 在程序中写好这样的代码:

InputStreamReader isr=new InputStreamReader(fis,"UTF-8");

 

这样文件输入流读取时就遵照UTF-8编码进行读入,如果你的文件编码是这个,就必须如此指定。

3. 如果程序设计多个步骤的文件读入读出操作,最好统一编码。

OutputStreamWriter osw=new OutputStreamWriter(fos,"UTF-8");


统一编码让工作更加简易,免于复杂的转换。

4.如果是用于网页显示,记得在网页内添加Charset=UTF-8的meta标签,否则网页也可能出现乱码。

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">


5.跨越不同平台和移植到不同编程语言中时,遇到的编码问题会有差异,注意区别对待。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java utf-8 乱码 编码 中文