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()];

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐