Android logcat输出的中文乱码问题

http://blog.sina.com.cn/s/blog_6c0e670e0100yg0d.html

 

 

Android日志系统提供了记录和查看系统调试信息的功能。日志都是从各种软件和一些系统的缓冲区中记录下来的。

 

可以使用adblogcat 命令来查看系统日志缓冲区的内容,但是在实际操作时,会发现在CMDDOS界面上面,使用logcat命令直接输出的中文内容是乱码,如图:

Android <wbr>logcat输出的中文乱码问题

 

这个问题只出现在使用logcat将日志直接打印在当前的DOS窗口的时候会出现;而使用logcat将日志保存为文件,再使用文本编辑工具打开的则显示正常,如图。

Android <wbr>logcat输出的中文乱码问题

 

很明显是由于DOS窗口显示的编码同logcat日志中不同导致的乱码问题。DOS窗口默认的编码是GBK,而LogCat打印的是UTF-8的编码,所以要设置DOS字符编码:

 

1,  在当前命令行下输入 chcp 65001,按回车键。这时,当前代码页使用的就是UTF-8编码了。

Android <wbr>logcat输出的中文乱码问题

2,  修改窗口属性,改变字体。在命令行标题栏上点击右键,选择“属性”->“字体”,将字体修改为True Type字体”Lucida Console”,然后点击确定将属性应用到当前窗口。

Android <wbr>logcat输出的中文乱码问题

这时候,再使用logcat打印日志,就可以正常显示中文字符了:

Android <wbr>logcat输出的中文乱码问题

 

可喜可贺啊。。。

 

补充部分字符编码对应代码:

65001——UTF-8

936——简体中文

950——繁体中文

437——美国/加拿大英语

932——日文

949——韩文

866——俄文