Linux与Windows系统语言编码区别

在Linux操作系统下,我们有时打开在windows下的txt文件,发现在windows下能正常显示的txt文件出现了中文乱码。
出现这种情况的原因为两种操作系统的中文字符编码方式(压缩方式)不同,在windows环境中中文字符编码一般为gbk,而在linux环境中为utf8,这就导致了在windows下能正常显示txt文件在linux环境下打开呈现了乱码状态。

系统编码设置

locale.gen文件

# /etc/locale.gen: list all of the locales you want to have on your system
#
# The format of each line:
# <locale> <charmap>
#
# Where <locale> is a locale located in /usr/share/i18n/locales/ and
# where <charmap> is a charmap located in /usr/share/i18n/charmaps/.
#
# All blank lines and lines starting with # are ignored.
#
# For the default list of supported combinations, see the file:
# /usr/share/i18n/SUPPORTED
#
# Whenever glibc is emerged, the locales listed here will be automatically
# rebuilt for you.  After updating this file, you can simply run `locale-gen`
# yourself instead of re-emerging glibc.
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
  • 查看系统语言编码种类
    /usr/share/i18n/locales/目录下包含系统支持的编码语言种类
gentoo ~ # ls /usr/share/i18n/locales/
en_US       en_GB     en_HK
zh_CN       zh_TW     zh_HK
ja_JP       de_DE     ......
gentoo ~ # 
  • 查看字符编码压缩方式
    /usr/share/i18n/charmaps/目录下包含系统支持的字符编码方式
ls /usr/share/i18n/charmaps/
ANSI_X3.110-1983.gz    IBM1026.gz         ISO-8859-16.gz
ANSI_X3.4-1968.gz      IBM1047.gz         ISO_8859-1,GL.gz
ARMSCII-8.gz           IBM1124.gz         ISO-8859-1.gz
ASMO_449.gz            IBM1129.gz         ISO-8859-2.gz
GB18030.gz             ISIRI-3342.gz      SAMI.gz
GB_1988-80.gz          ISO_10367-BOX.gz   SAMI-WS2.gz
GB2312.gz              ISO_10646.gz       SEN_850200_B.gz
GBK.gz                 ISO_11548-1.gz     SEN_850200_C.
HP-ROMAN9.gz           ISO_6937.gz        UTF-8.gz
......
  • enca查看文件编码方式
enca -L zh_CN file    ###检查文件的编码

解决方案

  • 使用iconv命令进行文件编码转换,如乱码文件名为hello.txt,那么在终端输入如下命令:
iconv -f gbk -t utf8 hello.txt > hello.utf8.txt 
  • 使用enca命令转换:
enca -L zh_CN -x UTF-8 hello.utf8.txt      ###将文件编码转换为"UTF-8"编码
enca -L zh_CN -x gbk hello.txt     ###将文件编码转换为"gbk"编码

enca有一个好处,如果文件本来就是你要转换的那种编码,它不会报错,还是会print出结果来, 而”iconv”则会报错。

转载于:https://www.cnblogs.com/wonux/p/5238887.html

Gentoo解决Windows系统txt文本中文乱码问题相关推荐

  1. 解决windows gitk显示文件内容中文乱码

    解决gitk显示文件内容中文乱码 在%git%\etc\gitconfig文件末尾添加: [gui] encoding = utf-8 [i18n] commitencoding = {utf-8|g ...

  2. windows下git bash中文乱码解决办法

    一.解决办法1:(直接上图) 1.在git bash下,右键 出现下图,选择options: 2.选择"Text" 3.将"Character set"设置为 ...

  3. java写到txt乱码_java读取txt文本发生乱码的解决方法

    java读取txt文本发生乱码的解决方法 发布时间:2020-06-25 17:35:58 来源:亿速云 阅读:90 作者:Leah 本篇文章为大家展示了java读取txt文本发生乱码的解决方法,代码 ...

  4. PC按键精灵读取txt文本出现乱码怎么办?按键精灵手机助手读取txt文本中文变问号怎么办?

    今天有人跟我说,他的PC按键精灵读取txt文本出现乱码,问我怎么办. 之前也有人问我按键精灵手机助手读取txt文本,中文变成问号怎么办? 在这里我统一回复一下. 这是由于文本文件编码格式造成的.PC按 ...

  5. linux打开windows系统文本文档乱码解决方法

    标题linux打开windows系统文本文档乱码解决方法 vim新建一个文本文档,CTRL+C复制原文档所有字符,vim里插入模式CTRL+V解决.

  6. Zend Studio 8.0.1 官方汉化包安装 解决文本中文乱码

    ------------------- 官方汉化方法  ------------------------ Help install new software [弹出install窗口] Add: -- ...

  7. Kali Linux 2019.4用U盘安装以及解决Kali Linux 2019.4中文乱码问题

    一.利用Win32 Disk Imager 实现U盘刻录ISO 1.Kali Linux官网下载 2.Win32 Disk Imager官网下载地址 3.打开Win32 Disk Imager软件,添 ...

  8. Linux(deepin) 解决 Anaconda 环境中 matplotlib 中文乱码问题

    matplotlib 库设置中文显示时会出现小方框,为了解决这个问题查阅了很多资料,但是都是直接在系统环境中修改,而我用的是 Anaconda 自建的环境,无法解决问题,因此查了很久之后找到了解决方法 ...

  9. 解决 IDEA 使用 AWT 组件中文乱码

    解决 IDEA 使用 AWT 组件中文乱码 1.问题描述 2.问题解决 2.1 打开 Edit Configurations 面板 2.2 添加 VM options 2.3 添加配置 2.4 重新运 ...

  10. php读取文件中文,PHP读取txt文件中文乱码的解决方案

    $res=glob('*.txt');//读取文件夹内的txt文件 echo '直接输出文件名,中文都乱码,因为这个php脚本的编码为utf-8:'; foreach($res as $value) ...

最新文章

  1. 自学机器学习课程怕踩雷?有人帮你选出了top 5优质课
  2. Android Studio添加文件注释头模板?
  3. ios unrecognized selector sent to instance出现的原因和解决方案
  4. Macbook 中如何通过命令行打开 vscode
  5. Java全套零基础视频教程,2019最新编程
  6. MVP Community Camp 社区大课堂
  7. 【NOIP2014】子矩阵
  8. CodeForces 799B (B) T-shirt buying
  9. 不同设备监控图像传输方式分析
  10. networkx edge 属性_python图算法库Networkx笔记-第一章
  11. 联想p720装系统_教你装系统第六节(装系统需要注意那些?)
  12. 电商后台设计-组织架构(三)
  13. iOS修改手游服务器数据,IOS免越狱游戏存档修改教程】成长王国Grow Kingdom为例
  14. MATLAB下载_MATLAB中文版下载
  15. Xposed 模块 Nnnen助手(Soul 抖音 皮皮虾Hook)
  16. python制作mcmod_[周边教程]MinecraftMOD制作_从入门到精通
  17. Zotero 知网文章不能转成pdf 的解决办法。
  18. Termux基础教程(无编程基础动图展示版)
  19. 发送腾讯云短信所依赖的完整jar包
  20. huggingface中Bert模型的简单使用

热门文章

  1. 详解谷歌官方教程 Android插件ADT 9.0.0
  2. 奇异的Pinvoke调用
  3. PHP Notice: undefined index xxx
  4. laravel composer 安装指定版本以及基本的配置
  5. 如何实现python连续输入
  6. 坚持,对于一件事的坚持
  7. 使用Flask-Migrate进行管理数据库升级
  8. 当我在linux图形界面终端输入startx,我在干什么
  9. Citrix 服务器虚拟化之三十一 XenApp 6.5负载均衡
  10. oracle的热备份和冷备份