locale 命令

  locale 命令用以设置程序运行的语言环境。

  locale 设置语言环境的命名规则为 Language_area.charset,例如 en_US.utf8 表示语言为英语,地区为美国,字符集为 UTF-8。

  查看当前字符映射文件

$ locale charmap
UTF-8

  查看可用公共语言环境

$ locale -a
C
C.UTF-
en_AG
...

  查看可用字符映射文件

$ locale -a
C
C.UTF-
en_AG
...

设置默认编码

  编辑 ~/.bashrc,设置默认编码为 UTF-8:

export LC_ALL=en_US.utf8
export LANG=$LC_ALL

  环境变量 LANG 是 LC_* 的默认值,如果没有设置 LC_*,则使用该值。

  LC_ALL 是一个宏,如果设置该值,则会覆盖除 LANG 以外所有的 LC_* 值。

什么是字符集

  字符集就是字符的集合,是字符在计算机系统内的编码方式,也是所谓的内码。所有字符集都存放在 /usr/share/i18n/charmaps 目录下,并且全部使用 Unicode 编号进行索引。Unicode 采用统一的编号来索引当前已知的全部符号(包括人类语言符号、特殊标记符号等)。

  字符集就是以上所有符号的编码方式,用于网络传输、计算机内部通信。Unicode 的编号通常使用 "U+" 后面跟着一个十六进制数字来表示,不同的编程语言可能有稍微不同前缀的写法,但十六进制数字保持不变。Unicode 统一使用四个字节来存储每个字符,但不同的符号对字节的消耗量不同,例如英语字符和数字等字符只需要单个字节就可以存储,而 GB2312 所包含的字符全部都是使用双字节存储。因为 Unicode 的目标是给世界上每一个字符都编上索引号并收纳进去,作为当前世界最大而全的字符集它不得不牺牲简洁性,它所包含的字符大部分都不能作为常用字符或者不是最被通用的字符,而作为计算机世界使用最多的字符 ASCII 单字节字符集,只能表达英语世界的字符,为此又有了 UTF-8 这种既简洁,字符覆盖率又高的字符集,UTF-8 使用单字节表示拉丁字母与数字,两个字节表示常用符号(包括常用中文字符),三个字节表示不常用字符,四个字节表示奇葩字符,UTF-8 理论上最长可以使用六个字节来为字符编码,但为了向 Unicode 看齐,实际上最长四个字节。

[Linux] 修改系统默认编码的更多相关文章

  1. linux通过python设置系统默认编码

    import sys sys.reload() sys.getdefaultencoding() # 查看设置前系统默认编码 sys.setdefaultencoding('utf-8') sys.g ...

  2. linux上修改系统默认语言设置

    locale命令设置语言环境(临时修改) [keysystem@localhost ~]$ date Fri Feb :: CST [keysystem@localhost ~]$ locale LA ...

  3. Linux修改系统以及pip更新源

    Linux修改系统以及pip更新源 时间:2015-08-01来源:csdn 作者:henulwj 修改系统更新源 你是否跟我一样在刚看时接触Linux时被系统更新源问题搞得晕头转向,不同的Linux ...

  4. linux 关于Apache默认编码错误 导致网站乱码的解决方案

    Apache默认编码UTF-8在解析A网站的时候没有任何问题,当运行B网站时出现的"蝌蚪文"乱码问题   最近经常有同学在使用LAMP/WAMP时,遇到这样的编码错误问题: A网站 ...

  5. Linux - 修改系统的max open files、max user processes(附ulimit的使用方法)【转载】

    Linux - 修改系统的max open files.max user processes(附ulimit的使用方法)目录 1 问题说明2 修改max open files3 修改max user ...

  6. flash 读取系统默认编码

    java有类可以直接读取,但貌似flash没有. Charset.defaultCharset(); 但是浏览器里可以有. document.defaultCharset;//从当前的区域语言中获取默 ...

  7. 使用storyboard显示UITableView时,如果不修改系统默认生成的tableView:cellForRowAtIndexPath:方法中的代码,则必须为UITableViewCell注册(填写)重用标识符:identifier.必须要代码方法中的标识符一致.

    CHENYILONG Blog 使用storyboard显示UITableView时,如果不修改系统默认生成的tableView:cellForRowAtIndexPath:方法中的代码,则必须为UI ...

  8. php修改网站默认编码

    php修改网站默认编码网站如果header 不指定utf8默认 不是utf8 所以输入中文显示会乱码 一般都是apache不是不是utf8 打开 apache 配置文件 httpd.conf 加个 A ...

  9. RK3399 修改系统默认语言为简体中文

    CPU:RK3288 系统:Android 7.1 修改系统默认语言为简体中文 diff --git a/build/target/product/full_base.mk b/build/targe ...

随机推荐

  1. 封装PHP验证码方法

    /** * 生成验证码 * @param integer $width 图片宽度 * @param integer $height 图片高度 * @param string $type 验证码类型 * ...

  2. Install windows server 2008 on ESXi 5.1, add to domain and config for remote desktop

    Never give up ---xingyunpi Install windows server 2008 system on ESXi 5.1, add it to a domain and do ...

  3. 版本控制-搭建git服务器

    GitHub是一个免费托管开源代码的Git服务器,如果我们不想公开项目的源代码,又不想付费使用,那么我们可以自己搭建一台Git服务器. 下面我们就看看,如何在Ubuntu上搭建Git服务器.我们使用V ...

  4. Windows平台下tomcat 性能调优

    Tomcat 线程查看工具: https://blog.csdn.net/jrainbow/article/details/49026365 16G内存 Tomcat并发优化.内存配置.垃圾回收.宕机 ...

  5. iOS关于沙盒文件拷贝manager.copyItem的一个坑

    记录一下: 沙盒文件操作,当需要拷贝文件时,我们可以使用如下类似方式: // 文件拷贝 func copyFile(from:String,to:String)->Bool{ if !manag ...

  6. 基于Centos搭建 Discuz 论坛

    系统要求:CentOS 6.8 64 位操作系统 搭建 Discuz 论坛 准备 LAMP 环境 LAMP 是 Linux.Apache.MySQL 和 PHP 的缩写,是 Discuz 论坛系统依赖 ...

  7. 11G新特性 -- Multicolumn Statistics (Column groups)

    默认oracle会收集表中各个列的统计信息,但是会忽略列之间的关联关系.在大多情况下,优化器假设在复杂查询中的列之间是独立的.当where子句后指定了一个表的多个列条件时,优化器通常会将多个列的选择性 ...

  8. 蓝牙发现服务UUID(service UUID)

    出至<蓝牙标准Core_V4.0>2.5.1 uuid(1576页) 其中 Bluetooth_Base_UUID定义为 00000000-0000-1000-8000-00805F9B3 ...

  9. 微信小程序开发填坑

    1.模拟器和真机的差异 在开发的过程中,在模拟器上表现得好好的,在真机上却出问题的例子数不胜数.譬如动画的使用,cover-view上面使用定位,在模拟器好好的,在真机却错乱等等等等.造成这些错乱主要 ...

  10. ES6入门基础

    let和const 一.块级作用域 ES5 只有全局作用域和函数作用域,没有块级作用域,这样的缺点是:1.用来计数的循环变量泄露为全局变量.2.内层变量可能会覆盖外层变量 var tmp = new ...