zhmars/cjktty-patches

控制台下字符显示乱码

rico256-cn opened this issue · 6 comments

我在6.0.10内核下用补丁正常编译通过后,在控制台看起来能显示中文了,但发现有 bug!

1)测试脚本如下

echo " 你好啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊"
echo " 你好啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊"


echo "光驱设备  丢失,请检查虚拟机上是否正确配置了光驱设备
* 检查路径:虚拟拟机设置/存储/SATA控制器下是否有配置光驱设备
* SATA控制器上挂系统启动硬盘和光驱设备,请同步勾选-使用主机输入输出缓存,提高读取性能
   * 光驱设备上挂载系统镜像 ISO 文件
* SCSI控制器下挂载数据盘,请不要勾-使用主机输入输出缓存,避免丢数据"

2)在控制台上用 vim 打开也是正常的

3)执行 shell 脚本就乱码
image

脚本贴上去显示不太正常,简单来说,就是 echo 一个稍微复杂点的文本,执行的时候 就乱码了 。 尝试在脚本里面加上 export LANG=zh_CN.UTF-8之类的环境变量也不管用。

不是乱码,是打印出来的文字信息和原始的对不上了。

无法重现,这是在虚拟机跑的吗?

脚本贴上去显示不太正常

参考 https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks

无法重现,这是在虚拟机跑的吗?

脚本贴上去显示不太正常

参考 https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks

上面脚本调整了下, 我是在 virtualbox 里面跑的,你看我脚本里面最后一句话:* SCSI控制器下挂载数据盘,请不要勾-使用主机输入输出缓存,避免丢数据" 和对应的截图里面的最后一句话。 类似的多打印一些文本,就发现文字错乱了。

在 console 里面我在 vim 里面打开文本显示是正常的,以及如果我普通的 ls -l 看目录这些,看上去都正常,但是当我用 more/cat 这种 查看 就会错乱,以及 shell脚本里面使用 echo 、printf 的方式输出 也是会出问题很奇怪。

你看我脚本里面最后一句话:* SCSI控制器下挂载数据盘,请不要勾-使用主机输入输出缓存,避免丢数据" 和对应的截图里面的最后一句话。 类似的多打印一些文本,就发现文字错乱了。

问题看到了,但重现不了。建议先检查虚拟机输入输出相关配置,原因可能在那。

嗯,谢谢,这个方案暂时我没法用了,我现在换了个方式,在 initrd 里面拉起一个 xfbdev(xserver), 然后拉起一个 xterm 来显示中文脚本。。。