[Android]_[初级]_[AndroidStudio编译输出中文乱码]
Posted infoworld
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Android]_[初级]_[AndroidStudio编译输出中文乱码]相关的知识,希望对你有一定的参考价值。
场景
- 在中文版的
Windows
系统上使用android Studio
开发App
,如果编译错误,在构建控制台会看到乱码。如何解决这个问题?
编译错误:
说明
- 输出乱码的原因在中文
Windows
系统里,AS
的Build Output
使用的就是UTF-8
编码字符输出,而Java
程序(AS
)获取到系统字符集编码和文件编码都是GBK
,因此输出也是GBK
编码的字符串,而AS
构建控制台只支持UTF-8
编码的字符,因此解析错误导致乱码.
Hello.java
- 可以看看
Hello.java
的例子.
import java.nio.charset.*;
public class Hello{
public static void main(String[] args) {
System.out.println("hello world");
System.out.println(String.format("file.encoding: %s", System.getProperty("file.encoding")));
System.out.println(String.format("defaultCharset: %s", Charset.defaultCharset().name()));
}
}
运行
$>java Hello
hello world
file.encoding: GBK
defaultCharset: GBK
$>java -Dfile.encoding=UTF-8 Hello
hello world
file.encoding: UTF-8
defaultCharset: UTF-8
方案
- 因此需要启动
AS
的运行VM
参数加上-Dfile.encoding=UTF-8
. 在AS
里增加这个参数的方式是. 菜单Help
->Edit Custom VM Options
,增加以下一行后保存。
-Dfile.encoding=UTF-8
- 需要设置生效需要重启,按菜单
File
->Invalidate Caches/Restart
->Invalidate and Restart
会重新启动AS
.
编译输出显示正常:
参考
以上是关于[Android]_[初级]_[AndroidStudio编译输出中文乱码]的主要内容,如果未能解决你的问题,请参考以下文章
[Java]_[初级]_[配置IDEA和Android Studio的JDK]
[Java]_[初级]_[配置IDEA和Android Studio的JDK]
[Android]_[初级]_[AndroidStudio编译输出中文乱码]
[Android]_[初级]_[Your anti-virus program might be impacting your build performance]