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端读取来自手