Zhou-zhi-peng / SerialPortForWindowsTerminal

Serial port for windows terminal, 让Windows Terminal支持串口的插件
Apache License 2.0
127 stars 31 forks source link

UTF-8编码的中文显示乱码 #4

Open you227 opened 2 years ago

you227 commented 2 years ago

arm板的中文日志会显示乱码 UTF-8编码的中文显示乱码

Zhou-zhi-peng commented 2 years ago

是否能提供原始内容和乱码后的内容?

you227 commented 2 years ago

是否能提供原始内容和乱码后的内容?

原始内容: (HistoryActionJob.java:50) 完成任务 HistoryActionJob 乱码内容: (HistoryActionJob.java:50) 瀹屾垚浠诲姟 HistoryActionJob

you227 commented 2 years ago

image 通过设置windows编码格式为utf-8可以解决问题,但是设置之后其他程序会出现兼容性问题导致乱码

arm板上linux的编码是utf-8

root@npi:~# locale
LANG=C.UTF-8
LANGUAGE=
LC_CTYPE="C.UTF-8"
LC_NUMERIC="C.UTF-8"
LC_TIME="C.UTF-8"
LC_COLLATE="C.UTF-8"
LC_MONETARY="C.UTF-8"
LC_MESSAGES="C.UTF-8"
LC_PAPER="C.UTF-8"
LC_NAME="C.UTF-8"
LC_ADDRESS="C.UTF-8"
LC_TELEPHONE="C.UTF-8"
LC_MEASUREMENT="C.UTF-8"
LC_IDENTIFICATION="C.UTF-8"
LC_ALL=
Zhou-zhi-peng commented 2 years ago

嗯,谢谢反馈! 这个需要在程序代码中单独设置本程序的编码格式,我有空的时候进行修复!

qlwz commented 1 year ago

嗯,谢谢反馈! 这个需要在程序代码中单独设置本程序的编码格式,我有空的时候进行修复!

system("chcp 65001 > nul"); 启动的时候加上这个就支持utf8

Orionxer commented 1 year ago

image 通过设置windows编码格式为utf-8可以解决问题,但是设置之后其他程序会出现兼容性问题导致乱码

arm板上linux的编码是utf-8

root@npi:~# locale
LANG=C.UTF-8
LANGUAGE=
LC_CTYPE="C.UTF-8"
LC_NUMERIC="C.UTF-8"
LC_TIME="C.UTF-8"
LC_COLLATE="C.UTF-8"
LC_MONETARY="C.UTF-8"
LC_MESSAGES="C.UTF-8"
LC_PAPER="C.UTF-8"
LC_NAME="C.UTF-8"
LC_ADDRESS="C.UTF-8"
LC_TELEPHONE="C.UTF-8"
LC_MEASUREMENT="C.UTF-8"
LC_IDENTIFICATION="C.UTF-8"
LC_ALL=

设置后马上生效了,感谢大佬回答 image