`
kerlubasola
  • 浏览: 680000 次
文章分类
社区版块
存档分类
最新评论

Andoird - 解决读取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 格式

    这种方式能得到非乱码的中文显示,但对于 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)报错问题。

分享到:
评论

相关推荐

    Android读取中文文件乱码解决方法

    Android读取中文文件乱码解决方法,读取本地文件的时候,读取网络资源的时候进行编码

    彻底解决android读取中文txt的乱码(自动判断文档类型并转码

    彻底解决android读取中文txt的乱码(自动判断文档类型并转码)

    Android读取本地json文件的方法(解决显示乱码问题)

    本文实例讲述了Android读取本地json文件的方法。分享给大家供大家参考,具体如下: 1、读取本地JSON ,但是显示汉字乱码 public static String readLocalJson(Context context, String fileName){ String json...

    java 读取APK文件 可以读取version等(解决乱码问题)

    java 读取APK文件 可以读取version等(解决乱码问题) 我们通过纯java来解读APK里面的AndroidManifest.xml文件 这样可以读取versioncode 注意 是用纯java 而不是Android库 test是实例 其中AXMLPrinter2.jar这个要...

    android 读取sd卡的txt并去除乱码

    android 读取sd卡的txt并去除乱码 参考很多其他的读取操作,有时会有乱码的情况发生,所以这里需要一个自己判断字符,再读取 原文地址:http://blog.csdn.net/z13580130369/article/details/45890525

    android读写中文如何避免乱码详解

    android读取文件中文出现乱码的原因无非就是,读取文件的字符格式与写如文件的格式不一致。因此,避免中文乱码,要在写入文件的时候按照一定的格式写入,读取的时候按照一定的格式读取。这样对应就不会出现乱码。...

    Window下adb shell中文乱码问题解决方法

    Window下,进行adb shell后,举个例子,如果你的sdcard下保存着中文字符文件名的文件,则在CMD下显示是一些无规律的中文并夹杂着乱码。 出现这种情况的原因是: Android中使用的是UTF-8字符,而CMD默认字符集是ANSI...

    Android设备获取扫码枪扫描的内容与可能遇到的问题解决

    前言 大家应该都有所体会,在生活中条形码扫码枪可是随处可见,可以很迅速地扫描出条形码内容,比什么手机相机扫码快了不是...android项目中的AndroidManifest.xml文件添加蓝牙权限。 <uses-permission android

    gdal.jar android端开发包

    GDAL Android 库, 读写shp文件测试成功. ArcMap端查看字段乱码的问题已解决.

    Android ExifInterface

    Android 图片exif信息读写,官方的不支持保存中文字符,经过改良后,支持保存中文字符,编码格式为UFT-8;使用方法与官方一致,把文件名称改成你所需要的就行。

    NDK开发遍历手机文件,返回给java代码,MP3信息获取

    1,ndk开发遍历手机某些文件,返回给java展示 2,java读取mp3文件的作者等信息乱码问题(部分解决,我只把自己手机上所有的MP3文件测试了一遍)

    QQ聊天整理

    本程序用于整理手机QQ导出的txt格式聊天记录,具有对多份聊天记录文档进行合并、去重、按时间排序...对于手动整理过的聊天记录,请保持官方的格式再导入整理,特别注意保存txt要选择编码格式为UTF-8,否则会出现乱码。

    QQ聊天记录整理工具 TxtRecordTool v1.0.0.1

    本程序用于整理手机QQ导出的txt格式聊天记录,具有对多份聊天记录文档进行合并、去重、按时间排序...对于手动整理过的聊天记录,请保持官方的格式再导入整理,特别注意保存txt要选择编码格式为UTF-8,否则会出现乱码。

    volley 获取json数据

    volley使用演示,解决中文乱码问题。 获取json格式天气信息,使用JSONObject解析数据

    封装一个类搞定90%安卓客户端与服务器端交互

    本实例封装了一个处理安卓客户端与服务器端交互的几个方法,对于中文乱码问题本实例也找到了解决方案.本例可以处理的场景如下: 1.与服务器端交互json数据. 2.Get方式与服务器端交互数据. 3.Post方式与服务器端交互...

    读取xml转存sqlite

    包括: 1,解析xml文件,以android的xml为例 2,sqlite 写入 3,解决了中文乱码问题 程序已经包含sqlite3的dll,头文件。

    android在线词典源码

    * 普通的文本文件读取与写入操作 * 注意,面向字符的, 用Reader/Writer, 面向字节的, InputStream/OutputStream * 面向字符会产生乱码问题, 此时需要采用 InputStreamReader去改写字符 * 为了不造成问题的复杂, ...

    android 音乐歌曲显示控件单行滚动

    android 音乐歌曲显示控件单行滚动,直接从sd卡音乐同目录读取lyc格式歌词文件,解决各种编码中文乱码问题,使用 调用方法,lv_lyrics.changeCurrent(pos);// 根据进度更新当前位置,lv_lyrics.onDrag(seekBar....

Global site tag (gtag.js) - Google Analytics