Linux screen窗口中文乱码问题

发表于:2013-11-15来源:IT博客大学习作者:Solrex Yang点击数: 标签:linux
环境:Linux Dist: CentOS 4.3,locale: en_US.UTF-8, .vimrc: set fencs=gbk 目标:终端使用 less/more/grep 等命令正确显示 GBK 编码文件内容,vim 正确显示 GBK 编码文件汉字

  环境: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 了。

原文转自:http://blogread.cn/it/article/2672