Gentoo下打开windows txt文件中文乱码问题

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-8zh_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
    ......

解决方案

使用iconv命令进行文件编码转换,如乱码文件名为hello.txt,那么在终端输入如下命令:

iconv -f gbk -t utf8 hello.txt > hello.utf8.txt
时间: 2024-10-16 23:26:04

Gentoo下打开windows txt文件中文乱码问题的相关文章

[转载] linux下打开windows txt文件中文乱码问题

原文链接 在linux操作系统下,我们有时打开在windows下的txt文件,发现在windows下能正常显示的txt文件出现了中文乱码. 出现这种情况的原因为两种操作系统的中文压缩方式不同,在windows环境中中文压缩一般为gbk,而在linux环境中为utf8,这就导致了在windows下能正常显示 txt文件在linux环境下打开呈现了乱码状态. 解决方法:在linux用iconv命令,如乱码文件名为shujujiegou.txt,那么在终端输入如下命令: iconv -f gbk -t

linux下打开windows txt文件中文乱码问题 (转载)

转自:http://blog.csdn.net/imyang2007/article/details/7448177 在linux操作系统下,我们有时打开在windows下的txt文件,发现在windows下能正常显示的txt文件出现了中文乱码. 出现这种情况的原因为两种操作系统的中文压缩方式不同,在windows环境中中文压缩一般为gbk,而在linux环境中为utf8,这就导致了在windows下能正常显示 txt文件在linux环境下打开呈现了乱码状态. 解决方法:在linux用iconv

Excel打开无BOM-UTF8文件中文乱码

运营同学需求扫库统计全服大V玩家,在数据库上扫出结果发过去之后,反馈说使用Excel打开玩家姓名都是乱码.看了下发过去的文件,发现都是linux下不带BOM的UTF8编码文件,而Excel作为Windows下的软件,需要使用BOM头来确定文件为UTF8编码,所以需要给文件加上BOM头. 一般的需求都是去掉BOM头,这次需求居然是加上BOM头,比较奇怪,不过试了下,发现用Python完成转换还是非常方便的,读出来直接decode/encode即可,代码如下: 1 #coding=utf8 2 #将

iOS-读取txt文件中文乱码

一.情景描述: 后台给一个txt文件,编码是utf-8,在Mac电脑Xcode开发环境下读取txt文件内容,汉字会出现乱码,英文没有乱码这种情况. 二.尝试解决方法: 修改编码格式,尝试了NSUTF16StringEncoding,NSUTF8StringEncoding,NSASCIIStringEncoding编码等,出现的问题有时是中文乱码,有时是utf-8不能打开文件问题,最终问题都没能解决. 三.猜测原因: txt文件是从window电脑上创建,有可能和环境有关,第二,编码问题. 三.

关于读取txt文件中文乱码问题

在处理文件的过程中,读取txt文件出现中文乱码.这种情况是由于编码字符不一致导致. public static string ReadFile(string path, string fileName) { FileStream stream = null; StreamReader reader = null; StringBuilder v = new StringBuilder(); try { stream = new FileStream(path + fileName, FileMo

java 读取不同编码的txt文件 中文乱码二

之前的文章中判断txt的编码,发现utf-8无BOM编码格式无法检测出来. 当无法检测时(返回的code为空时),再使用一下方法则可以了. /** * 传入一个文件(File)对象,检查文件编码 * * @param file * File对象实例 * @return 文件编码,若无,则返回null * @throws FileNotFoundException * @throws IOException */ public String guessFileEncoding(File file)

Windows下Git Bash中VIM打开文件中文乱码

Windows下Git Bash中VIM打开文件中文乱码,解决方法是: 步骤一 [email protected] MINGW64 /d/项目GGE/Hard_for_GGE (master)$ cd /etc/ [email protected] MINGW64 /etc$ vi vimrc 步骤二 在打开的vimrc文件开头添加以下代码: set nu set fencs=utf-8,gbk,utf-16,utf-32,ucs-bom 保存并退出vimrc编辑文档. 步骤三 1.退出git

解决“在UBUNTU下打开windows中创建的文本文件,中文显示乱码”的问题 。

在UBUNTU下打开windows中用notepad等工具创建的txt或程序源码等文本文件,中文显示乱码,原因是windows中的txt文件编码方式为GBK,UBUNTU中为utf-8. 解决办法:在终端中使用iconv命令对此文本文件进行转码,使用方法如图所示.具体到我的写法:iconv -f gbk -t utf-8 text.txt -o text.txt.utf8

Linux下打开Windows环境下创建的文本文件显示中文乱码问题

产生原因: Linux下打开Windows环境下创建的文本文件出现中文乱码,因为两种操作系统的中文压缩方式不同,在Windows环境下中文编码一般为GBK,而在Linux环境中为UTF-8,这就导致了在Windows下能正常显示的文件在Linux环境下打开出现了乱码. 解决方法: 使用iconv命令, 命令语法:iconv -f fromcode [-cs] [-t tocode [file ...] 假设乱码文件名为Hello.c,那么在终端可使用如下命令进行格式转换: iconv -f GB