Linux终端语系设置,iconv语系编码转换命令

一、介绍

  • 有时候在命令行输入命令后会显示乱码,其实是语系的不一样导致的:比如说在英语语序下不会显示中文
  • 打印中文语系的日期

  • 将中文语系改为英语语系

  • 提示:设置语系只在本次命令行操作中生效,退出命令行后失效,下次进入命令行需要重新设置,想要永久设置,请修改配置文件。

二、相关命令

  • 列出当前各项支持的语系:
locale

  • 列出所有语系后,可以选择一项设置为自己想要设置的语系,也可以设置所有的语系(LC_ALL代表同步所有语系的设置值
  • 关于更多"locale"命令的介绍请参阅:https://blog.csdn.net/qq_41453285/article/details/87922188
  • 设置所有的语系一致:
export LC_ALL=xxx
  • 设置单独一项的语系:
LC_xx=xxx

三、演示案例

  • 列出所有语系。LANG是主要语系的输出。LC_开头的是个别特殊的输出语系,LC_ALL代表LC_开头的所有语系设置

  

  • 更改其中一项语系:下面以LC_TIME为例

  • 将所有语系都更改为一致的语系,LC_ALL前需要加export

四、中文编码问题

  • 我们有时使用vim打开文件,会发现显示乱码。中文编码有Big5,GBK,UTF-8等,如果你的文件使用的是GBK编码,但是在vim终端界面使用的是UTF-8,则打开是就会显示乱码
  • 原因:
    • 你的Linux语系默认支持的语系数据,这与/etc/locale.conf有关
    • 你的终端(bash)的语系,这与LANG、LC_ALLA这几个变量有关
    • 你的文件原本的编码
    • 打开终端的软件,例如在GNOME下面的窗口界面
  • 解决办法:可以通过设置终端的语系
LANG=zh_CN.gb18030
export LC_ALL=zh_CN.gb18030

五、文件语系编码转换(iconv命令)

  • 概念通过这个命令可以将一个文件的语系编码进行转换,这个命令是针对于文件而言的
  • 命令格式:
iconv  --list
iconv  -f  原本编码  -t  新编码  原文件名  [-o  新文件名]
  • 相关参数与选项:
    • --list:列出iconv支持的语系编码数据
    • -l(小写的L):同上
    • -f encoding:后面跟这个文件的原本编码
    • -t encoding:后面跟你要转换的编码
    • -o file:指定输出文件。如果你想将转换后的内容保存到一个文件中,可以使用这个选项
    • -c:忽略输出的非法字符
    • -s:禁止警告信息,但不是错误信息
    • --verbose:显示进度信息
  • 备注:语系的转换需要保证转换之后不会出错,否则可能会转换失败(例如我将ASCII文件转换为UTF-8文件的时候就一直不成功)
  • iconv开发库可以参阅:https://blog.csdn.net/qq_41453285/article/details/106637833

演示案例

  • 列出iconv支持的语系编码

演示案例(编码转换)

  • 现在有一个UTF-16编码的文件UTF-16.txt(小端存储)

  • 现在我们想将这个文件转换为UTF-8格式的文件,并且保存到UTF-8.txt文件中
iconv -f UTF-16 -t UTF-8 UTF-16.txt -o UTF-8.txt

 

  • 现在查看这个文件的类型

特殊案例(繁体中文/其他编码转简体中文)

  • 将一个utf8编码的vi.utf8文件转换为简体中文gb2312编码的vi.gb.utf8文件
iconv -f utf8 -t big vi.utf8 | iconv -f big5 -t gb2312 | iconv -f gb2312 -t utf8 -o vi.gb.utf8

  • 我是小董,V公众点击"笔记白嫖"解锁更多【Linux入门基础】资料内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

董哥的黑板报

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值