从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
格式
这种方式能得到非乱码的中文显示,但对于
utf-8
格式下取得的经纬度数字利用double lon = Double.parseDouble(lat);
报错
NumberFormatException,原因可能是
parseDouble(lat)方法不能处理存成utf-8格式的带标点小数。
将文件
存成
ANSI
格式
将代码改为:
reader = new BufferedReader(new InputStreamReader(new FileInputStream(filename),"GB2312"));
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)报错问题。
分享到:
相关推荐
Android读取中文文件乱码解决方法,读取本地文件的时候,读取网络资源的时候进行编码
彻底解决android读取中文txt的乱码(自动判断文档类型并转码)
本文实例讲述了Android读取本地json文件的方法。分享给大家供大家参考,具体如下: 1、读取本地JSON ,但是显示汉字乱码 public static String readLocalJson(Context context, String fileName){ String json...
java 读取APK文件 可以读取version等(解决乱码问题) 我们通过纯java来解读APK里面的AndroidManifest.xml文件 这样可以读取versioncode 注意 是用纯java 而不是Android库 test是实例 其中AXMLPrinter2.jar这个要...
android 读取sd卡的txt并去除乱码 参考很多其他的读取操作,有时会有乱码的情况发生,所以这里需要一个自己判断字符,再读取 原文地址:http://blog.csdn.net/z13580130369/article/details/45890525
android读取文件中文出现乱码的原因无非就是,读取文件的字符格式与写如文件的格式不一致。因此,避免中文乱码,要在写入文件的时候按照一定的格式写入,读取的时候按照一定的格式读取。这样对应就不会出现乱码。...
Window下,进行adb shell后,举个例子,如果你的sdcard下保存着中文字符文件名的文件,则在CMD下显示是一些无规律的中文并夹杂着乱码。 出现这种情况的原因是: Android中使用的是UTF-8字符,而CMD默认字符集是ANSI...
前言 大家应该都有所体会,在生活中条形码扫码枪可是随处可见,可以很迅速地扫描出条形码内容,比什么手机相机扫码快了不是...android项目中的AndroidManifest.xml文件添加蓝牙权限。 <uses-permission android
GDAL Android 库, 读写shp文件测试成功. ArcMap端查看字段乱码的问题已解决.
Android 图片exif信息读写,官方的不支持保存中文字符,经过改良后,支持保存中文字符,编码格式为UFT-8;使用方法与官方一致,把文件名称改成你所需要的就行。
1,ndk开发遍历手机某些文件,返回给java展示 2,java读取mp3文件的作者等信息乱码问题(部分解决,我只把自己手机上所有的MP3文件测试了一遍)
本程序用于整理手机QQ导出的txt格式聊天记录,具有对多份聊天记录文档进行合并、去重、按时间排序...对于手动整理过的聊天记录,请保持官方的格式再导入整理,特别注意保存txt要选择编码格式为UTF-8,否则会出现乱码。
本程序用于整理手机QQ导出的txt格式聊天记录,具有对多份聊天记录文档进行合并、去重、按时间排序...对于手动整理过的聊天记录,请保持官方的格式再导入整理,特别注意保存txt要选择编码格式为UTF-8,否则会出现乱码。
volley使用演示,解决中文乱码问题。 获取json格式天气信息,使用JSONObject解析数据
本实例封装了一个处理安卓客户端与服务器端交互的几个方法,对于中文乱码问题本实例也找到了解决方案.本例可以处理的场景如下: 1.与服务器端交互json数据. 2.Get方式与服务器端交互数据. 3.Post方式与服务器端交互...
包括: 1,解析xml文件,以android的xml为例 2,sqlite 写入 3,解决了中文乱码问题 程序已经包含sqlite3的dll,头文件。
* 普通的文本文件读取与写入操作 * 注意,面向字符的, 用Reader/Writer, 面向字节的, InputStream/OutputStream * 面向字符会产生乱码问题, 此时需要采用 InputStreamReader去改写字符 * 为了不造成问题的复杂, ...
android 音乐歌曲显示控件单行滚动,直接从sd卡音乐同目录读取lyc格式歌词文件,解决各种编码中文乱码问题,使用 调用方法,lv_lyrics.changeCurrent(pos);// 根据进度更新当前位置,lv_lyrics.onDrag(seekBar....