网上说法一大堆,依样画葫芦却还是显示乱码
哎,无意中发现一篇关于shell配置文件的文章
尼玛,突然顿悟!!!!!!!!!!!!!!
先来了解影响shell的配置文件: /etc/profile:
此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.
并从/etc/profile.d目录的配置文件中搜集shell的设置.
/etc/bashrc:
为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.
~/.bash_profile:
每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该
文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.
~/.bashrc:
该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该
该文件被读取.
~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件.
/etc/profile中设定的变量(全局)的可以作用于任何用户,
~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"关系.
~/.bash_profile 是交互式、login 方式进入 bash 运行的
~/.bashrc 是交互式 non-login 方式进入 bash 运行的
设置语言环境可用
export LANG="zh_CN.UTF-8"
通常我们在mac中需要修改环境变量等设置,都是在~/.bash_profile中进行修改
于是在~/.bash_profile中加入 export LANG="zh_CN.UTF-8"
source ~./bash_profile
可是这样的设置并没有效果,为什么呢?
由于~/.bash_profile 是交互式、login 方式进入 bash 运行的,Emacs Shell是以
交互式non-login方式进入运行,对Emacs Shell起作用的是~/.bashrc
解决方法:
在~/.bashrc export LANG="zh_CN.UTF-8"
source ~./bashrc
总结:由于Gnu Emacs默认的语言环境不是zh_CN.UTF-8,所以要将语言环境设置成中文,也就是zh_CN.UTF-8
解决方法2:
Emacs是基于Lisp语言的,Lisp提供了setevn函数用于设置环境变量
所以,可以在.emacs中添加
(setevn "LANG" "zh_CN.UTF-8")