鱼C论坛

 找回密码
 立即注册

Mac OS Lion Emacs 24.1 Shell中文显示乱码解决方法

已有 4087 次阅读2012-7-29 13:13 |个人分类:Mac

网上说法一大堆,依样画葫芦却还是显示乱码
哎,无意中发现一篇关于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")


路过

鸡蛋

鲜花

握手

雷人

全部作者的其他最新日志

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-11 02:04

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

返回顶部