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. strip_tags、htmlentities、htmlspecialchars的区别

    一.strip_tags() 函数剥去字符串中的 HTML.XML 以及 PHP 的标签. strip_tags(string,allow) 注释:可通过allow设置允许的标签.这些标签不会被删除. ...

  2. emSecure Use Digital Signatures to protect your products

    emSecure Use Digital Signatures to protect your products emSecure is an RSA based software solution ...

  3. Linux网络编程:socket文件传输范例

    基于TCP流协议的socket网络文件传输Demo: 实现:C语言功能:文件传输(可以传任何格式的文件) /********************************************** ...

  4. hive 字段名称显示

    首先查看一个sql 1.首先存在一个数据表tmp CREATE TABLE tmp( platform string, channel string, chan_value string, uid s ...

  5. JMX-Java Management Extensions

    JMX全称Java Management Extensions, 为Java应用提供管理扩展功能.在Java 5的时候引入 概念 Name Description MBean 全称为Managed B ...

  6. linux每日命令(22):find命令参数详解

    一. name选项 文件名选项是find命令最常用的选项,要么单独使用该选项,要么和其他选项一起使用. 可以使用某种文件名模式来匹配文件,记住要用引号将文件名模式引起来. 不管当前路径是什么,如果想要 ...

  7. linux每日命令(31):tar命令

    tar命令可以为linux的文件和目录创建档案.利用tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件.tar最初被用来在磁带上创建档案,现在,用户可以在 ...

  8. Node入门教程(11)第九章:Node 的网络模块

    net网络模块 net模块是node对TCP或者IPC开发的封装,包括了客户端和服务器端相关API.对于阅读本文,请您有一定的网络编程的基础.您需要已经了解了: ip协议,会配置ip地址 了解dns解 ...

  9. PHP更改自动加载的顺序

    composer的锅 自从PHPer们用上了composer后,对于传统的加载方式倒是不会用了,可谓是"收之东隅,失之桑榆". 下面说一下怎么改变加载顺序来覆写Laravel中的h ...

  10. [转]Object.keys()和for in的排序问题

    原文地址:https://www.jianshu.com/p/a086ff48be6e Object.keys()和for in 具有相同的排列顺序 如果属性名的类型是Number,那么Object. ...