【错误记录】Flutter 开发中 adb logcat 输出 Android 调试数据出现中文乱码 ( CMD 命令行终端临时设置 | 设置 Windows 全局 UTF-8 )
·
一、错误记录
Flutter 开发中 adb logcat 输出 Android 调试数据出现中文乱码 , 执行
adb logcat | findstr "flutter"
命令 , 输出中文乱码 ;
D:\002_Project\001_Flutter\client_terminal\build\app\outputs\flutter-apk>adb logcat | findstr "flutter"
06-02 15:19:31.834 21913 21913 I flutter : [INFO] [FlutterApp] : 璐﹀彿: 235
06-02 15:19:31.834 21913 21913 I flutter : [INFO] [FlutterApp] : 瀵嗙爜: dfg
06-02 15:19:33.992 21913 21913 I flutter : [INFO] [FlutterApp] : 璐﹀彿: 235
06-02 15:19:33.992 21913 21913 I flutter : [INFO] [FlutterApp] : 瀵嗙爜: dfg

二、解决方案
Android 日志是 UTF-8 , 而 Windows CMD 默认是 GBK ( 代码页 936 ) ;
1、CMD 命令行终端临时设置
打开 CMD , 先切到 UTF-8 代码页 , 执行
chcp 65001
命令 , 切换控制台为 UTF-8 , 只对当前窗口有效 , 新开 CMD 要重输 ;
切换完毕后 , CMD 命令行终端会进行重启 ;
再次执行 adb logcat | findstr "flutter" 命令 , 就可以正常显示中文 ;
D:\002_Project\001_Flutter\client_terminal\build\app\outputs\flutter-apk>adb logcat | findstr "flutter"
06-02 15:18:17.422 21913 21913 I flutter : [INFO] [FlutterApp] : 账号: 235
06-02 15:18:17.422 21913 21913 I flutter : [INFO] [FlutterApp] : 密码: dfg
06-02 15:18:17.931 21913 21913 I flutter : [INFO] [FlutterApp] : 账号: 235
06-02 15:18:17.931 21913 21913 I flutter : [INFO] [FlutterApp] : 密码: dfg
06-02 15:18:18.165 21913 21913 I flutter : [INFO] [FlutterApp] : 账号: 235
06-02 15:18:18.165 21913 21913 I flutter : [INFO] [FlutterApp] : 密码: dfg

如果切换后 , 中文变成方框 / 空白 , 右键 CMD 标题栏 → 属性 → 字体 → 选 Lucida Console 或 Consolas , 确定后重启窗口 ;

2、设置 Windows 全局 UTF-8
Windows 10/11 可全局开启 UTF-8 ( 会影响所有程序 ) :
-
控制面板 → 时间和语言

-
选择 " 语言 " 面板的 " 管理语言设置 " 选项 ;

-
选择 " 管理 " 面板中的 " 更改系统区域设置 " 选项 ;

-
勾选 “Beta: 使用 Unicode UTF-8 提供全球语言支持”

- 重启电脑 : 之后所有 CMD 窗口默认就是 UTF-8 , adb logcat 直接正常显示中文 ;
更多推荐

所有评论(0)