Linux XShell下乱码的解决方法
首先检查系统的language设置的是否是中文。
在终端下输入命令∶
# echo $LANG
若不是,则需要修改环境变量。修改环境变量有多种方法,简单总结三种比较常用的∶
1>只针对当前终端的修改,对其他用户没有影响
在命令行下输入∶
# export LANG=ja_JP.UTF-8
这种修改只对当前终端有效,终端退出后即结束。若想要查看系统支持的语言和字符集,可以用命令
# locale -a
2>针对当前用户的修改,修改当前用户的bash配置文件。当用户一登陆即export进LANG变量
先进入当前用户的home目录,如root用户的home目录是/root/,其他用户的home目录一般是/home/username/
# ls -a
可以看到.bash_profile这个隐藏文件,在终端下输入一下命令∶
# echo “export LANG=ja_JP.UTF-8” >> .bash_profile
此命令的作用是吧echo命令的输出重定向输出到.bash_profile的末尾
3>针对所有用户的修改
编辑/etc/sysconfig/i18n这个文件,i18n是internationalization的缩写,表示i和n之间有18个字母,本意是指软件的国际化。i18n支持多种语言,但同一时间只能是英文和一种选定的语言,例如英文+中文、英文+日文等等。
修改LANG变量的值即可
以 上只是修改了系统的字符编码。但是即便编码正确,在xshell下也可能会乱码。因为xshell也有编码的设置。在xshell的工具栏上有一个 encoding的按钮,单击这个按钮可以选择编码。如果是日文乱码,一般可以选择Unicode(UTF-8)、Japanese(EUC)、 Japanese(shift-JIS)这三种,具体是哪一种能够正确的显示并不乱码跟要显示的文件所用的编码有关。
当然,除了第一种方式可以马上使设置生效,第二种方式和第三种方式需要重启shell。
在终端下输入命令∶
# echo $LANG
若不是,则需要修改环境变量。修改环境变量有多种方法,简单总结三种比较常用的∶
1>只针对当前终端的修改,对其他用户没有影响
在命令行下输入∶
# export LANG=ja_JP.UTF-8
这种修改只对当前终端有效,终端退出后即结束。若想要查看系统支持的语言和字符集,可以用命令
# locale -a
2>针对当前用户的修改,修改当前用户的bash配置文件。当用户一登陆即export进LANG变量
先进入当前用户的home目录,如root用户的home目录是/root/,其他用户的home目录一般是/home/username/
# ls -a
可以看到.bash_profile这个隐藏文件,在终端下输入一下命令∶
# echo “export LANG=ja_JP.UTF-8” >> .bash_profile
此命令的作用是吧echo命令的输出重定向输出到.bash_profile的末尾
3>针对所有用户的修改
编辑/etc/sysconfig/i18n这个文件,i18n是internationalization的缩写,表示i和n之间有18个字母,本意是指软件的国际化。i18n支持多种语言,但同一时间只能是英文和一种选定的语言,例如英文+中文、英文+日文等等。
修改LANG变量的值即可
以 上只是修改了系统的字符编码。但是即便编码正确,在xshell下也可能会乱码。因为xshell也有编码的设置。在xshell的工具栏上有一个 encoding的按钮,单击这个按钮可以选择编码。如果是日文乱码,一般可以选择Unicode(UTF-8)、Japanese(EUC)、 Japanese(shift-JIS)这三种,具体是哪一种能够正确的显示并不乱码跟要显示的文件所用的编码有关。
当然,除了第一种方式可以马上使设置生效,第二种方式和第三种方式需要重启shell。