修改linux 字符集 By Lear
最近做一个系统需要动态的修改linux文件的字符集。下面简单介绍下linux字符集和几种修改字符集的方法。
首先介绍下基本的概念--什么是字符集 字符集就是字符,尤其是非英语字符在系统内的编码方式,也就是通常所说的内码,所有的字符集都放在 /usr/share/i18n/charmaps,所有的字符集也都是用Unicode编号索引的。Unicode用统一的编号来索引目前已知的全部的符号。而字符集则是这些符号的编码方式。 1 修改系统字符集 用locale命令不带任何参数可以看到当前的系统字符集。 LANG=zh_CN LC_CTYPE="zh_CN" LC_NUMERIC="zh_CN" LC_TIME="zh_CN" LC_COLLATE="zh_CN" LC_MONETARY="zh_CN" LC_MESSAGES="zh_CN" LC_PAPER="zh_CN" LC_NAME="zh_CN" LC_ADDRESS="zh_CN" LC_TELEPHONE="zh_CN" LC_MEASUREMENT="zh_CN" LC_IDENTIFICATION="zh_CN" LC_ALL= 这几个属性的含义大家可以去查查man手册,说一点LC_ALL的优先级最高,只要设定了这个值,其他的值都被覆盖了。 如果通过export 修改字符集,只在当前shell有效。可以使用admin权限 修改/etc/sysconfig/language文件(不同的操作系统文件的名字和目录都会不同)。 2 修改文件字符集。 修改文件字符集有两种方式 使用vim 编辑文件,在命令模式下输入set fileencoding=utf-8。这里举个utf-8的例子,我们可以输入任何本机支持的字符集。在这个目录/usr/share/i18n/charmaps下可以看到本机支持的字符集/usr/share/i18n/charmaps。 还有一个linux命令可以修改文件字符集--iconv。基本的命令格式如下 iconv -t source-file.txt>dest-file.txt. 就字符集的问题大家可以多交流一下
|
本文原创自无线技术运营空间: http://wireless.qzone.qq.com 及 http://blog.youkuaiyun.com/wireless_tech (专注无线技术运营——无线技术(操作系统/数据库/WEB前端/负载均衡/系统容灾/系统安全/短信接入/WAP接入/3G等)、无线业务运营、无线开放平台、统计分析(用户行为分析/数据挖掘)、CP合作,联系我们:1780551083@qq.com)