Linux下修改字符集

locale -a 查询系统支持的字符集

export LANG="zh_CN.UTF-8"设定字符集

export LANG=en_US


一般来说要设置 Linux 系统的环境变量只需要在 /etc/profile (全局) 或者 ~/.bash_profile (单个用户) 即可。

是对于 LANG 变量来说,有时候你即使在所有这些初始化脚本里面 export 过了,LANG 的值还是纹丝不动

实际上,你需要去修改 /etc/sysconfig/i18n 文件里面的内容。


linux 设置系统语言 

修改 /etc/sysconfig/i18n 文件,如

LANG="en_US.UTF-8",xwindow会显示英文界面,
LANG="zh_CN.UTF-8",xwindow会显示中文界面。 

还有一种方法 cp /etc/sysconfig/i18n $HOME/.i18n 

修改 $HOME/.i18n 文件,如

LANG="en_US.UTF-8",xwindow会显示英文界面,
LANG="zh_CN.UTF-8",xwindow会显示中文界面。

这样就可以改变个人的界面语言,而不影响别的用户

修改后的/etc/sysconfig/i18n 文件为:

LANG="en_US.UTF-8"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="latarcyrheb-sun16"
LC_ALL="en_US.UTF-8"
export LC_ALL

设置完毕后重启或者用rc.local使生效

或修改登录用户的.bash_profile文件加入

export LANG=zh_CN.GB18030
export LANGUAGE=zh_CN.GB18030:zh_CN.GB2312:zh_CN

#coding=gbk或#coding=utf-8放在文件的前两行。

因为py默认ascii,不包含中文字符集。需要指定编码码类型。

在控制台输入以下命令可以查看py默认编码:

code:

>>>import sys

>>>sys.getdefaultencoding()
<think>我们正在回答用户关于Linux系统修改字符集的问题。根据引用内容,修改字符集有两种主要方法:临时修改(环境变量)和永久修改(配置文件)。 注意:引用中提到了两种方式:直接设置变量(临时生效)和修改配置文件(永久生效)。 我们将分步骤说明,并确保引用正确。 步骤1:查看当前字符集修改之前,我们可以先查看当前系统的字符集设置。可以使用以下命令: - `echo $LANG` - `locale` - `env | grep LANG` - `export | grep LANG` 步骤2:临时修改字符集(当前会话有效) 使用export命令设置LANG和LC_ALL变量,例如: ```bash export LANG=zh_CN.UTF-8 export LC_ALL=zh_CN.UTF-8 ``` 但这种方式只在当前shell会话中有效,退出或新建shell将失效。 步骤3:永久修改字符集(系统级配置) 通过修改配置文件来永久改变字符集。根据引用[1]和[3],配置文件为`/etc/sysconfig/i18n`(在CentOS7等系统中)。编辑该文件: ```bash vim /etc/sysconfig/i18n ``` 在文件中设置: ``` LANG="zh_CN.UTF-8" SUPPORTED="zh_CN.UTF-8:zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en" ``` 然后运行`source /etc/sysconfig/i18n`使配置立即生效(或者重启系统)。 注意:不同Linux发行版可能配置文件不同,例如Debian/Ubuntu使用`/etc/default/locale`。但根据引用内容,用户提供的引用都是基于CentOS的i18n文件。 步骤4:验证修改 使用`locale`或`echo $LANG`命令查看是否修改成功。 引用说明:我们引用的内容都指向了修改字符集的方法,特别是引用[1]和[3]提到了修改配置文件`/etc/sysconfig/i18n`,引用[2]提到了临时修改。 因此,我们将按照上述步骤组织回答,并正确标注引用。 </think> ### Linux 系统修改字符集的方法 在 Linux 系统中修改字符集主要分为**临时修改**(当前会话有效)和**永久修改**(系统级生效)两种方式,以下是具体步骤: --- #### 一、临时修改字符集(当前会话有效) 通过环境变量实现,退出终端后失效: 1. **修改 `LANG` 变量**(影响整体字符环境) ```bash export LANG=zh_CN.UTF-8 ``` 2. **修改 `LC_ALL` 变量**(覆盖所有区域设置) ```bash export LC_ALL=en_US.UTF-8 ``` 3. **取消字符集设置** ```bash unset LANG # 取消LANG设置 unset LC_ALL # 取消LC_ALL设置 ``` > ⚠️ 验证:执行 `locale` 或 `echo $LANG` 查看是否生效[^1][^2] --- #### 二、永久修改字符集(系统级生效) 通过修改配置文件实现: 1. **编辑配置文件** ```bash sudo vim /etc/sysconfig/i18n # CentOS/RHEL 系统 sudo vim /etc/default/locale # Debian/Ubuntu 系统 ``` 2. **修改内容**(示例为中文UTF-8) ```ini LANG="zh_CN.UTF-8" SUPPORTED="zh_CN.UTF-8:zh_CN.GB18030:zh_CN:zh:en_US.UTF-8" ``` 3. **立即生效** ```bash source /etc/sysconfig/i18n # CentOS/RHEL source /etc/default/locale # Debian/Ubuntu ``` 4. **重启系统生效** ```bash sudo reboot ``` > 💡 提示:使用 `locale -a` 查看系统支持的字符集列表[^3] --- #### 三、字符集选择建议 | 字符集 | 适用场景 | 特点 | |----------------|----------------------------|-------------------------| | `en_US.UTF-8` | 英文环境 | 兼容性好,通用性强 | | `zh_CN.UTF-8` | 简体中文环境 | 支持中文字符 | | `zh_CN.GB18030`| 旧版中文系统兼容 | 支持生僻字,但兼容性较差 | --- ### ⚠️ 注意事项 1. **字符集一致性** 确保终端、SSH客户端(如PuTTY)和系统字符集一致 2. **配置文件路径差异** - CentOS/RHEL: `/etc/sysconfig/i18n` - Debian/Ubuntu: `/etc/default/locale` 3. **修改后验证** 执行 `locale` 检查输出是否包含 `LANG=zh_CN.UTF-8` 等目标设置[^1] > 若出现中文乱码,优先检查 SSH 客户端的字符集设置是否与系统一致 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值