串口连接时,Putty不打印utf-8字符



我正在使用串行连接访问beagleboard的串行端口。beagleboard上的rootfs正在使用busybox。我已经在putty中设置了encoding=utf-8。当我在屏幕上粘贴中文字符时,它们被转换为"?",但ls显示正确。例如,我在屏幕上粘贴"ls"。

Linux#> ls ????
技术笔记

我想知道为什么在putty窗口复制粘贴时中文字符会转换成"??"

当我使用putty通过SSH连接到其他Linux机器时,没有问题,并且在putty窗口中字符显示正确。

编辑1:复制粘贴第一个字符,通过putty生成正确的utf-8代码并将其发送到串口。我在tty层添加了printk来打印tty层接收到的十六进制字符。

Linux#>
[ 0][  220.604000] e68a
[ 0][  220.608000] 80?d
-/bin/sh: 技: not found

e6 8a80是与"size"对应的utf-8编码。

*NIX:

... install locale
locale-gen
dpkg-reconfigure locales

PuTTY>设置>窗口>字体设置>字体>更改…

最新更新