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

合集下载

解决txt文档乱码问题的步骤

解决txt文档乱码问题的步骤

解决txt文档乱码问题的步骤全文共四篇示例,供读者参考第一篇示例:在日常工作和学习中,我们经常会接触到各种文档文件,其中常见的就是txt文档。

有时候我们打开txt文档却出现了乱码的情况,导致无法正常阅读文本内容。

这时候我们就需要解决txt文档乱码的问题。

下面,我将介绍一些解决txt文档乱码问题的步骤。

第一步:确认文档编码格式打开txt文档之后,首先要确认文档的编码格式。

txt文档的编码格式有很多种,比如UTF-8、GBK、ANSI等。

如果文档的编码格式不正确,就会导致文本内容显示为乱码。

我们可以通过文本编辑器的“另存为”功能,选择正确的编码格式重新保存文档。

第二步:使用文本编辑器打开文档在解决txt文档乱码问题时,我们可以使用专业的文本编辑器打开文档,比如Notepad++、Sublime Text等。

这些编辑器支持多种编码格式,并且可以自动识别文档的编码格式。

使用这些文本编辑器打开文档,通常能够正确显示文本内容,避免出现乱码情况。

第三步:手动修改编码格式有时候文本编辑器无法正确识别文档的编码格式,我们可以尝试手动修改编码格式。

在Notepad++等编辑器中,我们可以通过菜单栏的“编码”选项来手动选择文档的编码格式。

尝试不同的编码格式,直到文本内容正确显示为止。

第四步:使用在线工具转换编码格式如果我们无法通过文本编辑器解决txt文档乱码问题,还可以尝试使用在线工具转换文档的编码格式。

有一些在线转换工具,比如Convertio、Online Convert等,可以帮助我们将文档从一种编码格式转换为另一种编码格式。

使用这些工具可以快速有效地解决txt文档乱码问题。

第五步:重新下载文档有时候文档本身就存在问题,导致打开后显示乱码。

这时候我们可以尝试重新下载文档,看看是否能够解决问题。

有时候重新下载文档就能够正常显示文本内容,避免出现乱码情况。

解决txt文档乱码问题并不复杂,只需要按照以上步骤逐一尝试,通常就能够解决问题。

android混淆及报错解决

android混淆及报错解决

android混淆及报错解决问题一:报错:Proguard returned with errorcode 1. See console proguard.ParseException: Unknownoption 'and' in argument number 9原因:查看你的工程目录里是否有空格或中文,有的改下就好了混淆步骤:使用android2.2.3以上版本创建工程,可以看到proguard.cfg,这就是混淆配置文件。

然后修改project.properties(android2.2以下应该是default.properties)文件:proguard.config=proguard.cfg 如果你的是android2.2.3以下的也可以找一个proguard.cfg拷贝过去,步骤一样。

但是你一定要看下你的SDK文件夹D:\android-SDK\tools\下一定得有proguard文件夹,这是负责混淆的问题二:使用外部jar文件,混淆出错!解决办法:在proguard.cfg改成-optimizationpasses 5-dontusemixedcaseclassnames-dontskipnonpubliclibraryclasses-dontpreverify-verbose-dontwarn-dontskipnonpubliclibraryclassmembers-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*如果还报错再试试解决办法:将proguard.cfg中的"-dontpreverify"改成“-dontoptimize”我的最终:-optimizationpasses 5-dontusemixedcaseclassnames-dontskipnonpubliclibraryclasses-dontoptimize-verbose-dontwarn-dontskipnonpubliclibraryclassmembers-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*-keep public class * extends android.app.Activity-keep public class * extends android.app.Application-keep public class * extends android.app.Service-keep public class * extends android.content.BroadcastReceiver-keep public class * extends android.content.ContentProvider-keep public class * extends android.app.backup.BackupAgentHelper-keep public class * extends android.preference.Preference-keep public class com.android.vending.licensing.ILicensingService-keepclasseswithmembernames class * {native <methods>;}-keepclasseswithmembers class * {public <init>(android.content.Context, android.util.AttributeSet);}-keepclasseswithmembers class * {public <init>(android.content.Context, android.util.AttributeSet, int); }-keepclassmembers class * extends android.app.Activity {public void *(android.view.View);}-keepclassmembers enum * {public static **[] values();public static ** valueOf(ng.String);}-keep class * implements android.os.Parcelable {public static final android.os.Parcelable$Creator *;}。

中文乱码——精选推荐

中文乱码——精选推荐

中⽂乱码出现中⽂乱码的原因,总结起来就是因为页⾯编码不⼀致的问题。

常见的就是gb2312编码页⾯和utf8编码页⾯的中⽂数据传输。

解决思路:对中⽂数据进⾏编码或加密成为字母+数字的密⽂,在接收页⾯再进⾏解码或解密,因为字母和数字没有乱码的困扰,这样就避免了中⽂乱码的问题。

常见的是使⽤开发平台⾃带的编码/解码、加密/解密函数,也可以引⼊外来的函数。

如aes对称加密函数等等。

1.Aspx页⾯中,Url链接有中⽂乱码解决办法,对中⽂部分进⾏编码,这样就不会有编码问题导致的乱码了。

假设Url的部分参数,Title=我是中⽂ Server.UrlEncode(Title) ⽤来编码的 Server.UrlDecode(Request.QueryString["Title"]) ⽤来解码的<!-- 对Title参数进⾏编码 --><a href="/Product/ProductPhotoDes.aspx?FPrice=0&TPrice=100&Title=<%=Server.UrlEncode("0元-100元") %>">0元-100元</a><!-- 对获取的Title参数进⾏解码 -->m_SecondName =Server.UrlDecode( Request.QueryString["Title"]);2.javascript中⽂参数乱码 假设Url的部分参数,Title=我是中⽂ escape(Title) javascript⽤来编码的 unescape(Title) javascript⽤来解码的 context.Server.UrlDecode(context.Request.QueryString["Title"]) Ashx⽤来解码的3.javascript的3个编码函数 escape/unescape 除了ASCII 字母、数字和特定的符号外,对传进来的字符串全部进⾏转义编码; 因此如果想对URL编码,最好不要使⽤此⽅法; escape()适合对url的参数进⾏编码。

ubuntu下android源码编译修改遇到到问题及解决办法

ubuntu下android源码编译修改遇到到问题及解决办法
8. 源码中存放app到路径 out/target/product/generic/system/app
刷机时,该路径中到apk都会成为系统自带应用。
9. 错误: ./adb devices 提示???????????? no permissions
----解决办法:切换到root用户,使用adb kill-server, adb start-server 就可以了
build下的一个文件:
source build/envsetup.sh (前面要加上source,否则找不到mmm等命令)(不同的shell窗口都得运行该命令后才能使用mmm等命令)
b. 使用mmm命令来编译指定的模块,例如QuickSearchBox应用程序:
//注释 ~/Android/out/host/linux-x86/bin有我们要执行的emulator命令,而~/Android/out/target/product/generic是Android镜像存放目录,下面执行emulator命令时会用到。
emulator
adb -s emulator-5554 install -r ebook.apk
在真机上重新安装ebook.apk
adb -s HT9BYL904399 install -r ebook.apk
在emulator-5554模拟器上卸载ebook.apk(不保留数据和缓冲目录)
adb -s emulator-5554 uninstall net.blogjava.mobile.ebook
02-23 11:11:16.719: I/EasouSearch(2741): http get::8080/oss/upload/QuickSearchBox.apk

解决txt文档乱码问题的步骤

解决txt文档乱码问题的步骤

解决txt文档乱码问题的步骤
要解决txt文档乱码问题,首先需要确定乱码的原因。

乱码通
常是由于文本文件的编码格式与当前使用的文本编辑器或阅读器不
匹配所致。

以下是解决txt文档乱码问题的一般步骤:
1. 确认文档编码,使用文本编辑器打开txt文档,查看其编码
格式。

常见的编码格式包括UTF-8、UTF-16、ANSI等。

可以在文本
编辑器的编码设置中找到这些信息。

2. 转换编码格式,如果文档的编码格式与当前使用的文本编辑
器不匹配,可以尝试将文档的编码格式转换为与编辑器匹配的格式。

可以使用专门的文本编辑器或者编码转换工具进行转换。

3. 使用合适的文本编辑器,确保使用的文本编辑器支持文档的
编码格式。

一些编辑器在打开文档时会自动识别并使用正确的编码
格式,从而避免乱码问题。

4. 恢复备份文件,如果在编辑文档时出现了乱码问题,可以尝
试恢复之前的备份文件,避免丢失重要内容。

5. 检查系统语言设置,有时候乱码问题可能与操作系统的语言
设置有关,可以检查并调整系统的语言和区域设置,以确保与文档
编码格式相匹配。

6. 导入到其他软件,如果以上方法无法解决问题,可以尝试将
文档导入到其他文本编辑软件中打开,看是否能够正常显示内容。

综上所述,解决txt文档乱码问题需要先确认文档的编码格式,然后选择合适的方法进行处理,包括转换编码格式、使用合适的文
本编辑器和调整系统设置等。

希望以上步骤能够帮助你解决txt文
档乱码问题。

解决C#读写txt文件中文(汉字)乱码的问题

解决C#读写txt文件中文(汉字)乱码的问题

解决C#读写txt⽂件中⽂(汉字)乱码的问题最新⽂章:不少朋友遇到⽤System.IO.StreamReader读取包含汉字的txt⽂件时,经常会读出乱码(StreamWriater写⽂本⽂件也有类似的问题),原因很简单,就是⽂件的编码(encoding)和StreamReader/Writer的encoding不对应。

为了解决这个问题,我写了⼀个类,来取得⼀个⽂本⽂件的encoding,这样我们就可以创建对应的StreamReader和StreamWriter来读写,保证不会出现乱码现象。

其实原理很简单,⽂本编辑器(⽐如XP⾃带的记事本)在⽣成⽂本⽂件时,如果编码格式和系统默认的编码(中⽂系统下默认为GB2312)不⼀致时,会在txt⽂件开头部分添加特定的“编码字节序标识(Encoding Bit Order Madk,简写为BOM)”,类似PE格式的"MZ"⽂件头。

这样它在读取时就可以根据这个BOM来确定该⽂本⽂件⽣成时所使⽤的Encoding。

这个BOM我们⽤记事本等程序打开默认是看不到的,但是⽤stream按字节读取时是可以读到的。

我的这个TxtFileEncoding类就是根据这个BOM“⽂件头”来确定txt⽂件⽣成时⽤到的编码的。

using System;using System.Collections.Generic;using System.Text;using System.IO;namespace OnlineEditLib{public class TxtFileEncoding{public TxtFileEncoding(){//// TODO: 在此处添加构造函数逻辑//}///<summary>///取得⼀个⽂本⽂件的编码⽅式。

如果⽆法在⽂件头部找到有效的前导符,Encoding.Default将被返回。

///</summary>///<param name="fileName">⽂件名。

删除Android手机系统中的中文乱码文件的方法

删除Android手机系统中的中文乱码文件的方法

删除Android⼿机系统中的中⽂乱码⽂件的⽅法
删除Android⼿机系统中的中⽂乱码⽂件的⽅法
问题描述:
将SD卡中中⽂字符⽂件名(在Windows下⽂件名显⽰正确,⽆乱码)的MP3⽂件拷贝到⼿机System⽬录后出现⽂件名显⽰乱码,在⼿机上⽤RE管理器等⽂件管理⼯具均⽆法进⾏重命名、修改权限、移动、删除等操作,或操作后刷新⽂件仍是操作以前的状态。

若改⽤91⼿机助⼿、豌⾖荚等PC端管理⼿机⽂件⼯具,有的PC端⼯具可以看到这⼀⽂件,显⽰⼤⼩为0字节,但是⽆法进⾏删除操作。

解决⽅法:
1、获取⼿机ROOT权限;
2、下载⼿机软件“安卓系统超级终端”并安装到⼿机中;
3、打开“安卓系统超级终端”,在命令提⽰符的界⾯依次使⽤如下命令:
#su(设置超级⽤户模式);
#cd system(进⼊系统⽂件夹);
#ls(显⽰⽂件夹下的所有⽬录和⽂件列表);
#rm *.mp3(删除⽬录下的mp3⽂件,因为⽂件名显⽰为乱码字符,⽆法打出⽂件名称,只能⽤通配符删除,如果有其他不需删除的正常mp3⽂件,可以先备份,稍后再恢复);
#exit(退出shell环境)。

操作备忘:
此类问题要求我们在向⼿机内存⽬录拷贝⽂件的时候,要检查Android系统下显⽰的⽂件名称,最好先在SD卡内改为英⽂字符再拷贝,或者直接存在SD 卡上使⽤,避免出现各种难以直接删除的问题。

【推荐下载】android 文本文件的正确写入(防止中文乱码)

【推荐下载】android 文本文件的正确写入(防止中文乱码)

android 文本文件的正确写入(防止中文乱码)2017/01/19 276 android 文本文件写入流程1,写入文件的路径2,获取写入流3,写入数据,记得转换格式(UFT-8 在android 不能用,只能用gbk)开始写代码:首先根据文件地址判断文件是否存在,不存在就创建新文件File file = new File(path); if (!file.exists()) { file.createNewFile(); } 然后获取写入流FileOutputStream outputStream = new FileOutputStream(file, true); true 是不覆盖写入文件,只在文本最后写入,false 是只在文本最开始写入,只传入file 则覆盖式写入文本文件。

最后写入内容//记住用gbk outputStream.write(content.getBytes(“gbk”));当然不要忘了关闭outputStream.flush(); outputStream.close(); 还有捕获异常FileNotFoundException 和IOException 完成。

总体代码:public static void writeStr2Txt(String content, String path) { try { File file = new File(path); if (!file.exists()) { file.createNewFile(); FileOutputStream outputStream = new FileOutputStream(file, true); outputStream.write(content.getBytes(“gbk”)); outputStream.flush(); outputStream.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }tips:感谢大家的阅读,本文由我司收集整编。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

最近在做个MP3播放器,出现中文乱码问题,在网上找了很多解决办法,我整理了出现乱码的点和解决方案,拿出来和大家共享一下1.读取中文文件乱码解决方法package com.apj.conv;import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStreamReader;import android.app.Activity;import android.os.Bundle;import android.os.Environment;import android.widget.TextView;public class ConverActivity extends Activity {private TextV iew textview ;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.main);textview = (TextView) findView ById(R.id.lrctext);System.out.println("==============convertCodeAndGetText begin============== ") ;///获得SDCard中文件的路径String path = Environment.getExternalStorageDirectory().getAbsolutePath()+ File.separator ;String tochinese = convertCodeAndGetText(path+"a.txt");System.out.println(tochinese);System.out.println("==============cconvertCodeAndGetText end==============");textview.setText(tochinese);}public String convertCodeAndGetText(String str_filepath) {//转变编码File file = new File(str_filepath);BufferedReader reader;String text = "";try {FileInputStream fis = new FileInputStream(file);BufferedInputStream in = new BufferedInputStream(fis);in.mark(4);byte[] first3bytes = new byte[3];in.read(first3bytes);in.reset();if (first3bytes[0] == (byte) 0xEF && first3bytes[1] == (byte) 0xBB&& first3bytes[2] == (byte) 0xBF) {// utf-8reader = new BufferedReader(new InputStreamReader(in, "utf-8"));} else if (first3bytes[0] == (byte) 0xFF&& first3bytes[1] == (byte) 0xFE) {reader = new BufferedReader(new InputStreamReader(in, "unicode")); } else if (first3bytes[0] == (byte) 0xFE && first3bytes[1] == (byte) 0xFF) { reader = new BufferedReader(new InputStreamReader(in, "utf-16be")); } else if (first3bytes[0] == (byte) 0xFF && first3bytes[1] == (byte) 0xFF) { reader = new BufferedReader(new InputStreamReader(in, "utf-16le")); } else {reader = new BufferedReader(new InputStreamReader(in, "GBK"));}String str = reader.readLine();while (str != null) {text = text + str + "\n";str = reader.readLine();}reader.close();} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {e.printStackTrace();}return text;}}2. 连接网络读取文件内容中文乱码解决办法URL myFileUrl = null;myFileUrl = new URL(url);HttpURLConnection conn;conn = (HttpURLConnection) myFileUrl.openConnection();conn.setDoInput(true);conn.connect();InputStream is = conn.getInputStream();BufferedReader br = new BufferedReader(new InputStreamReader(is, "GB2312"));sb = new StringBuffer();String data = "";while ((data = br.readLine()) != null) {sb.append(data+"\n");}String result = sb.toString();3.读取网络文件中文名下载乱码解决办法1.先在设置服务器编码:找到Tomcat安装目录下的server.xml文件(Tomcat6.0\conf\server.xml)。

设置编码为UTF-8<Connector port="8080" URIEncoding="UTF-8" redirectPort="8443"connectionTimeout="20000" protocol="HTTP/1.1"/>2. android 中代码为:try {lrcUrl = "http://192.168.0.214/vote/mp3/" + URLEncoder.encode("中文.mp3","UTF-8"); } catch (UnsupportedEncodingException e) {// TODO Auto-generated catch blocke.printStackTrace();}int result1 = downFile(lrcUrl, "mp3/", "中文.mp3");*** 该函数返回整型( -1:代表下载文件出错;0:代表下载成功;1:代表文件已存在)**/public int downFile(String urlStr, String path, String fileName) {InputStream inputStream = null;try {FileUtils fileUtils = new FileUtils();if (fileUtils.isFileExist( fileName,path )) {return 1;} else {inputStream = getInputStreamFromUrl(urlStr);File resultFile = fileUtils.write2SDFromInput(path, fileName, inputStream); if (resultFile == null) {return -1;}}} catch (Exception e) {// TODO: handle exceptione.printStackTrace();return -1;} finally {try {inputStream.close();} catch (Exception e2) {e2.printStackTrace();}}return 0;}/*** 根据URL得到输入流** @param urlStr* @return* @throws MalformedURLException* @throws IOException*/public InputStream getInputStreamFromUrl(String urlStr)throws MalformedURLException, IOException {url = new URL(urlStr);HttpURLConnection urlConn = (HttpURLConnection) url.openConnection();InputStream inputStream = urlConn.getInputStream();return inputStream;}。

相关文档
最新文档