我在 konsole 中遇到了文本编码问题(我也尝试了 xterm,结果是一样的)(Kubuntu 13.04,KDE)。以下是示例输出:
oleg@PrizoffN:~$ gg
gg: \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u0430
(这里gg
只是随机字符,所以答案应该是command not supported
或类似这样)
oleg@PrizoffN:~$ sudo apt-get install krusader
[sudo] password for oleg:
?????? ??????? ???????... ??????
?????????? ?????? ????????????
?????? ?????????? ? ?????????... ??????
??? ??????????? ????? ????? ?????? krusader.
????????? 0, ??????????? 0 ????? ???????, ??? ???????? ???????? 0 ???????, ? 0 ??????? ?? ?????????.
oleg@PrizoffN:~$ uname -a
Linux PrizoffN 3.8.0-19-generic #29-Ubuntu SMP Wed Apr 17 18:16:28 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
不确定为什么会这样...这里可以做什么?
同时,在纯控制台模式下一切都运行良好(如果我按下 CTRL+ALT+F1)
更新:这是有用的数据:
oleg@PrizoffN:~$ locale
LANG=en_US.ISO-8859-1
LANGUAGE=en_US:ru:en
LC_CTYPE="en_US.ISO-8859-1"
LC_NUMERIC="en_US.ISO-8859-1"
LC_TIME="en_US.ISO-8859-1"
LC_COLLATE="en_US.ISO-8859-1"
LC_MONETARY="en_US.ISO-8859-1"
LC_MESSAGES="en_US.ISO-8859-1"
LC_PAPER="en_US.ISO-8859-1"
LC_NAME="en_US.ISO-8859-1"
LC_ADDRESS="en_US.ISO-8859-1"
LC_TELEPHONE="en_US.ISO-8859-1"
LC_MEASUREMENT="en_US.ISO-8859-1"
LC_IDENTIFICATION="en_US.ISO-8859-1"
LC_ALL=
更新 2:
我可以通过执行将语言环境恢复到正常状态
LANG=en_US.utf8
但这只是暂时的结果。在重新启动 konsole 时,语言环境将恢复为其ISO-8859-1
值。我如何才能永久保存它?
我还找到了这个文件:
oleg@PrizoffN:~$ cat .kde/env/setlocale.sh
export LANG=en_US.utf8
export LANGUAGE=en_US:ru:en
其中 LANG 最初设置为ISO-8859-1
。我将其更改为 utf8 ,但没有任何效果。
更新 3:
重启后,语言环境恢复正常。所以,没有更多问题了。
答案1
我正在使用全新安装的 Kubuntu 13.04。
安装俄语区域设置并重新启动后,我遇到了同样的问题。这确实是由于 中的区域设置名称不匹配造成的.kde/env/setlocale.sh
。
因此重复解决方法:
LANG=en_US.ISO-8859-1 =>>>
export LANG=en_US.utf8
然后重新启动,问题完全解决!
有趣的是,我首先意识到问题不在于konsole
(这个症状很明显),而是在用 Dolphin 浏览数据时发现,所有用俄语编码的文件都以胡言乱语命名。