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. [原创]推荐一些在线API生成工具

    [原创]推荐一些在线API生成工具 最近发现Api文档维护是个大体力活,版本控制文档统一化特别麻烦,寻思着这个怎么处理,经高人指点开源有一些工具不错,具体如下: 1.Swagger   http:// ...

  2. PPPOE

    本质上,它是一个允许在以太网广播域中的两个以太网接口间创建点对点隧道的协议. PPPoE(英语:Point-to-Point Protocol Over Ethernet),以太网上的点对点协议,是将 ...

  3. SharePoint 特殊用户标识

    To get claim for All Authenticated Users in PS you need to use:$claim = New-SPClaimsPrincipal -Encod ...

  4. windows Server 2008 R2 添加新用户时密码不满足密码策略的要求

    ---------------------------本地用户和组---------------------------在计算机 WINSERVER2008R2 上创建用户 lintx 时,出现了以下 ...

  5. Linux系统中安装使用百度云网盘

    百度云没有Linux客户端,于是有大神用Go语言写出来一个叫BaiduPCS-Go的命令行盘客户端,可以通过终端操作百度云盘,在Linux上实现上传下载.但是因为是命令行版本的,对没有命令行使用基础的 ...

  6. 【T02】理解子网和CIDR的概念

    1.IP地址分为5类,A.B.C.D.E,它们的前缀分别是: A:0 网络个数2^7,主机个数2^24,大概1千6百万 B:10 网络个数2^14,大概1万6千,主机个数2^16,大概6万5千 C:1 ...

  7. 解决Gerrit的git unpack error问题

    今天上午同事和我说neutron项目要换成全新的内部代码,原先仓库里的代码要全部废弃掉.于是我就简单地创建了一个空项目使用git push --force将其置空. 下午的时候,麻烦事情就来了,同事发 ...

  8. 微信公众号基础02_获取accessToken和用户信息

    上一篇分享了搭建微信公众号server,本文分享一下假设获取access_Token和用户信息.工具还是新浪云SAE 1.获取access_Token 相见开发文档:https://mp.weixin ...

  9. AJAX技术之DWR框架

    DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开发人员开发包含AJAX技术的网站.它可以允许在浏览器里的代码使用运行在 ...

  10. Atitit 快速开发体系建设路线图

    Atitit 快速开发体系建设路线图 1.1. 项目类型划分 哑铃型 橄榄型  直板型(可以立即实行)1 1.2. 解决方案知识库 最佳实践库 最佳流程优化(已成,需要一些整理)2 1.3. 功能模板 ...