解决Android LogCat 输出乱码的问题(转)

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

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

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

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

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

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

3、这时候再使用LogCat ,控制台显示中文了、

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

65001——UTF-8

936——简体中文

950——繁体中文

437——美国/加拿大英语

932——日文

949——韩文

866——俄文

附注:

LOGCAT的使用 
[adb] logcat [<option>] … [<filter-spec>] … 
过滤器语句按照下面的格式描tag:priority … , tag 表示是标签,priority 是表示标签的报告的最低等级. 从上面的tag的中可以得到日志的优先级. 你可以在过滤器中多次写tag:priority 
adb logcat TAG1:I TAG2:D *:S 
上面表达式的最后的元素 *:S ,,是设置所有的标签为”silent”,所有日志只显示有”View” and “MyApp”的,用 *:S 的另一个用处是 能够确保日志输出的时候是按照过滤器的说明限制的,也让过滤器也作为一项输出到日志中。

例如:

[java] view plaincopy

  1. private static final String TAG = "TEST";

[java] view plaincopy

  1. Date date = new Date(System.currentTimeMillis());
  2. DateFormat formatter_full = DateFormat.getDateInstance(DateFormat.FULL);
  3. Log.i(TAG, formatter_full.format(date));
  4. DateFormat formatter_long = DateFormat.getDateInstance(DateFormat.LONG);
  5. Log.i(TAG, formatter_long.format(date));
  6. DateFormat formatter_medium = DateFormat.getDateInstance(DateFormat.MEDIUM);
  7. Log.i(TAG, formatter_medium.format(date));
  8. DateFormat formatter_short = DateFormat.getDateInstance(DateFormat.SHORT);
  9. Log.i(TAG, formatter_short.format(date));

然后再CMD 中输入: adb logcat TEST:I *:S
得到 如图


以上部分转载自:http://blog.sina.com.cn/s/blog_93731f0c0100vz0x.html
在Eclipse安装插件解决Eclipse中显示乱码的办法:
后续:

解决Android LogCat 输出乱码的问题(转)

时间: 2024-10-11 04:33:16

解决Android LogCat 输出乱码的问题(转)的相关文章

解决Tomcat控制台输出乱码问题

解决Tomcat控制台输出乱码问题 打开Edit Configuration,在VM options一栏输入 -Dfile.encoding=UTF-8 然后到IDEA的bin目录找到 idea64.exe.vmoptions 同样添加到文末 figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max-width: 100%; vertical-align:

解决Jenkins console输出乱码

背景 Jenkins console输出乱码,如 ????????????? 1 解决办法 Jenkins Master 设置utf8 encoding Tomcat 启动脚本 export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF-8" Jenkins 系统管理 环境变量 Key: LANG, Value zh_CN.UTF-8 Jenkins Slave 启动脚本 nohup java "-Dfile.encoding=UTF-8 -j

Eclipse设置Android Logcat输出字体大小

Window -> Preferences -> Android -> Logcat -> Display Font:点击"Change"按钮 如图: 

cmd命令行中logcat输出日志中文乱码

在命令行使用adb logcat命令直接输出日志中文内容显示乱码,原因是中文系统中cmd命令行窗口默认的编码是GBK,而LogCat打印的日志是UTF-8编码,所以adb logcat命令输出的中文内容显示乱码. 修改cmd命令行窗口字符编码即可解决logcat日志中文显示乱码问题: 1.cmd命令行窗口字符编码切换为UTF-8,命令行中执行:chcp 65001 2.修改cmd窗口字体属性,在命令行标题栏上点击右键,选择”属性”->”字体”,将字体修改为”Lucida Console”,点击确

eclipse运行 Maven Test命令时控制台输出乱码的解决办法

在Maven的pom.xml文件中增加: <properties>      <argLine>-Dfile.encoding=UTF-8</argLine> </properties> 今天突然遇到这个问题了,上网搜了一下,答案一大堆,还是这个最好!记录一下! eclipse运行 Maven Test命令时控制台输出乱码的解决办法,布布扣,bubuko.com

Web运行控制台输出乱码解决总结

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form action="/AServlet" method="post"> 用户名:<input type=&qu

CRT远程连接服务器字符输出乱码解决一例

环境: 服务器:Centos 6.2 远端:win 7 CRT版本:7.1.1 现象回顾: 1.服务器端:中文字符显示正常,如下: 2.CRT连接,出现乱码,如下图所示: 3.对CRT设置调整,如下: Options -> Session Options -> Appearance -> Font -> 新宋体 ->  字符集:中文GB2312 -> Character encoding:UTF-8 4.修改后重新执行操作,如下图所示: ****************

IDEA控制器output输出乱码解决

一控制台输出乱码:tomcat/conf/logging.properties修改下,java.util.logging.ConsoleHandler.encoding = GBK,重新启动Tomcat即可. 原文地址:https://www.cnblogs.com/eguo8888/p/11756445.html

jenkins控制台输出乱码

根据以往写代码的经验,jenkins控制台输出乱码有可能是编码导致的,问了一下度娘,果然如此,解决办法如下:修改下jenkins的配置文件,设置字符编码为:UTF-8即可,打开jenkins的安装目录,找到jenkins.xml文件,在<arguments>标签处添加红色字体,即定义编码为utf-8<arguments>-Xrs -Xmx512m -Dfile.encoding=utf-8 -Dhudson.lifecycle=hudson.lifecycle.WindowsSer