TextView在setText会因为编码的问题出现乱码的情况,以下是一些解决方案的记录。
1.在程序中对组件setText出现中文乱码,统一为UTF-8也没解决这个问题。
2.在build.gradle文件下添加了android{compileOptions.encoding="GBK"}
3.因为我遇到的问题是读写文件后setText乱码的问题,是由byte转成String字符串时出现乱码,最终可行有效的解决方案如下:
//打开文件输入流
FileInputStream inputStream = new FileInputStream(filename);
byte[] buffer = new byte[1024];
int len = inputStream.read(buffer);
//读取文件内容
while(len > 0){
sb.append(new String(buffer,0,len));
//继续将数据放到buffer中
len = inputStream.read(buffer);
//关闭输入流
inputStream.close();
将本段代码中的
byte[] buffer = new byte[1024];
byte[] buffer = new byte[inputStream.available()];
TextView在setText会因为编码的问题出现乱码的情况,以下是一些解决方案的记录。1.在程序中对组件setText出现中文乱码,统一为UTF-8也没解决这个问题。2.在build.gradle文件下添加了android{compileOptions.encoding="GBK"}3.因为我遇到的问题是读写文件后setText乱码的问题,是由byte转成String字符串时出现乱...
1. 选择Gradle Scripts -> build.gradle(Moduel:app)
2.在文件中加入
android
{compileOptions.encoding = "GBK"}
3.使用Build -->MakeProjects重新编译程
TextView
textView
21;
//----------------------------------------
private String readStream(InputStream is)
{ // 资源流(GBK汉字码)变为串
Android
中文
乱码
解决
方法:
在手机与PC之间进行socket或HTTP通讯时,常常会出现中文
乱码
问题,其主要原因在于手机端字符编码默认为UTF-8,而服务器PC端默认为gbk或gb2312。
手机到PC的信息编码传递、接收、解码
显示
的过程为:手机端以UTF-8编码信息(包括汉字),写入socket输出流。在写入输出流,或在socket中传递时,或在PC端读取来自手