Linux screen窗口中文乱码问题

目录 Linux

环境:Linux Dist: CentOS 4.3,locale: en_US.UTF-8, .vimrc: set fencs=gbk

目标:终端使用 less/more/grep 等命令正确显示 GBK 编码文件内容,vim 正确显示 GBK 编码文件汉字

症状:

1. 系统自带 gnome-terminal 在设置终端编码为 GBK 后,能达到目标。

2. 使用 xshell 在 windows 平台上设置终端编码为 default 时,ssh 登录到 CentOS,能达到目标。

3. 在 screen 命令窗口内,无论终端还是 vim, 中文均显示为乱码,无法达到目标。

解决办法:在 ~/.screenrc 中,添加下面两句:

defencoding GBK
encoding UTF-8 GBK

我的猜测是 xshell、gnome-terminal 等终端能够将自身编码传给系统,因此系统能够对输出自动进行转码。而 screen 属于终端中的终端,它自身的编码不是 GBK,导致传给系统以后没有对输出进行转码。设置 screen 的编码和转换规则后,就 OK 了。

长按识别二维码关注《边际效应》
长按识别二维码关注《边际效应》

3 条评论

  • Tweets that mention Linux screen窗口中文乱码问题 -- Topsy.com
    2010-11-11

    [...] This post was mentioned on Twitter by Yousri, Wenbo Yang. Wenbo Yang said: [BLOG] Linux screen窗口中文乱码问题 http://blog.solrex.org/?p=638964 [...]

  • Linux Screen窗口中文乱码问题 - 四号程序员
    2011-05-26

    [...] 转载自:LINUX SCREEN窗口中文乱码问题,感谢原作者! [...]

  • nice
    2012-10-30

    defencoding UTF-8encoding UTF-8 UTF-8我的需要设置成这样。

发表评论

电子邮件地址不会被公开。 必填项已用*标注