精华内容
下载资源
问答
  • linux fileencoding

    2017-01-17 13:46:19
    Linux做开发或者系统管理遇到乱码是经常的事情,主要windows下中文的默认编码是gb2312,而 linux下是utf-8。很多时候 涉及到和windows平台系统的通信免不了编码的转化,可能大部分人都用iconv库函数(包含在glib...

    编码介绍

    1 GB2312-80

    GB 2312 或 GB 2312-80 是中国国家标准简体中文字符集,全称《信息交换用汉字编码字符集·基本集》,又称 GB 0,由中国国家标准总局发布,1981 年 5 月 1 日实施。GB 2312 编码通行于中国大陆;新加坡等地也采用此编码。中国大陆几乎所有的中文系统和国际化的软件都支持 GB 2312。

    GB 2312 标准共收录 6763 个汉字,其中一级汉字 3755 个,二级汉字 3008 个;同时收录了包括拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔字母在内的 682 个字符。
    GB 2312 的出现,基本满足了汉字的计算机处理需要,它所收录的汉字已经覆盖中国大陆99.75% 的使用频率。
    对于人名、古汉语等方面出现的罕用字,GB 2312 不能处理,这导致了后来 GBK 及 GB 18030 汉字字符集的出现。

    GB 2312 对任意一个图形字符都采用两个字节表示,并对所收汉字进行了“分区”处理,每区含有 94 个汉字/符号,分别对应第一字节和第二字节。这种表示方式也称为区位码。
    01-09 区为特殊符号。
    16-55 区为一级汉字,按拼音排序。
    56-87 区为二级汉字,按部首/笔画排序。
    10-15 区及 88-94 区则未有编码。
    GB 2312 的编码范围为 2121H-777EH,与 ASCII 有重叠,通行方法是将 GB 码两个字节的最高位置 1 以示区别。

    2 GBK

    GBK 即汉字内码扩展规范,K 为汉语拼音 Kuo Zhan(扩展)中“扩”字的声母。英文全称 Chinese Internal Code Specification。

    GBK 共收入 21886 个汉字和图形符号,包括:
    GB 2312 中的全部汉字、非汉字符号。
    BIG5 中的全部汉字。
    与 ISO 10646 相应的国家标准 GB 13000 中的其它 CJK 汉字,以上合计 20902 个汉字。
    其它汉字、部首、符号,共计 984 个。
    GBK 向下与 GB 2312 完全兼容,向上支持 ISO 10646 国际标准,在前者向后者过渡过程中起到的承上启下的作用。

    GBK 采用双字节表示,总体编码范围为 8140-FEFE 之间,首字节在 81-FE 之间,尾字节在 40-FE 之间,剔除 XX7F 一条线。GBK 编码区分三部分:
    汉字区 包括
    GBK/2:OXBOA1-F7FE, 收录 GB 2312 汉字 6763 个,按原序排列;
    GBK/3:OX8140-AOFE,收录 CJK 汉字 6080 个;
    GBK/4:OXAA40-FEAO,收录 CJK 汉字和增补的汉字 8160 个。
    图形符号区 包括
    GBK/1:OXA1A1-A9FE,除 GB 2312 的符号外,还增补了其它符号
    GBK/5:OXA840-A9AO,扩除非汉字区。
    用户自定义区
    GBK 区域中的空白区,用户可以自己定义字符。

    3 GB18030

    GB 18030,全称:国家标准 GB 18030-2005《信息技术中文编码字符集》,是中华人民共和国现时最新的内码字集,是 GB 18030-2000《信息技术信息交换用汉字编码字符集基本集的扩充》的修订版。
    GB 18030 与 GB 2312-1980 和 GBK 兼容,共收录汉字70244个。
    与 UTF-8 相同,采用多字节编码,每个字可以由 1 个、2 个或 4 个字节组成。
    编码空间庞大,最多可定义 161 万个字符。
    支持中国国内少数民族的文字,不需要动用造字区。
    汉字收录范围包含繁体汉字以及日韩汉字
    GB 18030 编码是一二四字节变长编码。
    单字节,其值从 0 到 0x7F,与 ASCII 编码兼容。
    双字节,第一个字节的值从 0x81 到 0xFE,第二个字节的值从 0x40 到 0xFE(不包括0x7F),与 GBK 标准兼容。
    四字节,第一个字节的值从 0x81 到 0xFE,第二个字节的值从 0x30 到 0x39,第三个字节从0x81 到 0xFE,第四个字节从 0x30 到 0x39。

    参考资料:
    http://blog.csdn.net/liujinchengjx/archive/2007/03/13/1527909.aspx
    http://zh.wikipedia.org/wiki/GB_2312
    http://zh.wikipedia.org/wiki/GBK
    http://zh.wikipedia.org/wiki/GB_18030#

    编码修改(gb18030/utf-8)

    在Linux做开发或者系统管理遇到乱码是经常的事情,主要windows下中文的默认编码是gb2312,而 linux下是utf-8。很多时候 涉及到和windows平台系统的通信免不了编码的转化,可能大部分人都用iconv库函数(包含在glib中)和iconv命令来执行编码转换,即:
    iconv -f gb18030 -t utf-8 file1.txt -o file2.txt
    说实话这个命令不好使,一方面容易重复转换,另一方面不支持通配符,无法成批转 换,文件少了还好说,要是一大堆文件岂不是要累死?
    今天我要推荐的是另一个Shell下编码转换工具enca。用它不仅可以转换编码,还可以查看文件的原始编码,而且还支持成批转换。使用上也比iconv方便一些。安装enca很简单,一般用源安装就行了,enca用法如下:
    enca -L 当前语言 文件名
    enca -L zh_CN file //检查文件的编码

    enca -L 当前语言 -x 目标编码 文件名
    enca -L zh_CN -x UTF-8 file //将文件编码转换为”UTF-8″编码
    enca -L zh_CN -x UTF-8 < file1 > file2 //如果不想覆盖原文件可以这样
    除了有检查文件编码的功能以外,”enca”还有一个好处就是如果文件本来就是你要转换的那种编码,它不会报错,还是会print出结果来, 而”iconv”则会报错。

    展开全文
  • Linux中Vi如何设置encoding

    千次阅读 2016-12-23 15:36:43
    vi一共有三个变量来控制encoding,分别为 encoding控制当前使用什么编码来显示 fileencoding表示将当前的文件转换成什么编码,注意设置之后文件的编码已经被改变,w之后就会变成该编码格式 fileencodings表示vi...

    我们经常会遇到使用vi打开一个文件时出现乱码的情况,其实可以通过fileencodings来解决,
    vi中一共有三个变量来控制encoding,分别为
    encoding控制当前使用什么编码来显示
    fileencoding表示将当前的文件转换成什么编码,注意设置之后文件的编码已经被改变,w之后就会变成该编码格式
    fileencodings表示vi将在列表所指定的编码方式中尝试打开文件,所以一般我们只需要这个为gbk或utf8就可以

    set fileencodings=utf8,gbk
    展开全文
  • iconv -f "gbk" -t "utf-8" The.Legend.of.1900.webm.chs.srt -o The.Legend.of.1900.webm.chs.srt.utf8
    iconv -f "gbk" -t "utf-8" The.Legend.of.1900.webm.chs.srt -o The.Legend.of.1900.webm.chs.srt.utf8
    
    展开全文
  • 转1. ...以下为copy链接2的介绍 (1)encoding: Vim 内部使用的字符编码方式,包括 Vim 的 buffer (缓冲区)、菜单文本、消息文本等

    转1. http://blog.sina.com.cn/s/blog_40e1ba640102wm26.html

    2.http://www.cnblogs.com/joeyupdo/archive/2013/03/03/2941737.html
    以下为copy链接2中的介绍
    (1)encoding: Vim 内部使用的字符编码方式,包括 Vim 的 buffer (缓冲区)、菜单文本、消息文本等。用户手册上建议只在 .vimrc 中改变它的值,事实上似乎也只有在 .vimrc 中改变它的值才有意义

    (2)fileencoding: Vim 中当前编辑的文件的字符编码方式,Vim 保存文件时也会将文件保存为这种字符编码方式 (不管是否新文件都如此),网上是这样介绍的,但是我这样做在.vimrc中定义为utf-8似乎没有作用,只能在打开vim文件时手动设置才会起效,不知道什么原因。

    (3)fileencodings: Vim 启动时会按照它所列出的字符编码方式逐一探测即将打开的文件的字符编码方式,并且将 fileencoding 设置为最终探测到的字符编码方式。因此最好将 Unicode 编码方式放到这个列表的最前面,将拉丁语系编码方式 latin1 放到最后面。

    (4)termencoding: Vim 所工作的终端 (或者 Windows 的 Console 窗口) 的字符编码方式。这个选项在 Windows 下对我们常用的 GUI 模式的 gVim 无效,而对 Console 模式的 Vim 而言就是 Windows 控制台的代码页,并且通常我们不需要改变它。

    系统locale是utf-8(很多linux系统默认的locale形式),编辑的文档是GB2312或GBK形式的(Windows记事本
    默认保存形式,大部分编辑器也默认保存为这个形式,所以最常见),终端类型utf-8(也就是假定客户端是putty类的unicode软件)
    则vim打开文档后,encoding=utf-8(locale决定的),fileencoding=latin1(自动编码判断机制不准导致的),termencoding=空(默认无需转换term编码),显示文件为乱码。
    解决方案1:首先要修正fileencoding为cp936或者euc-cn(二者一样的,只不过叫法不同),注意修正的方法不是:set
    fileencoding=cp936,这只是将文件保存为cp936,正确的方法是重新以cp936的编码方式加载文件为:edit
    ++enc=cp936,可以简写为:e ++enc=cp936。

    但是这样做,文件关闭后重新打开又要重新设置一遍。出现乱码归根结底的原因是vim不能识别该文件的编码方式,导致不能正常解码(不知道是不是叫解码,我的理解)。所以,我在.vimrc中设置了fileencodings,相当于告诉vim当以utf-8解码文件不成功时以这么几种方式尝试,set fileencoding=utf-8 set fileencodings=ucs-bom,utf-8,cp936,latin1. 这样打开正常了

    展开全文
  • linux下压缩和解压(zip,unzip)时,如果文件名含有中文,就会由于文件名编码 (encoding)不同而出现平台(GNU/linux与win)之间制作的压缩包不能互相兼容的问 题,就是所谓的乱码.这里说一种最简单的解觉方法(2009) ...
  • Linux-vim-encoding

    千次阅读 2015-07-19 10:48:27
    encoding=prc 保存退出就OK了 转载地址: http://www.cnblogs.com/joeyupdo/archive/2013/03/03/2941737.html http://blog.csdn.net/zhaohaifan/article/details/24022811
  • linux resin illegal utf8 encoding at XXXX

    千次阅读 2009-05-18 14:08:00
    0x20 问题在于linux的问题,把LANG=zh_CN.utf8 改成 LANG=_US.utf8 就可以了 illegal utf8 encoding at 0xd5, 57 可能是插入数据库的字段格式写错了。请注意
  • 查看文件编码在Linux中查看文件编码可以通过以下几种方式:1.在Vim 可以直接查看文件编码:set fileencoding即可显示文件编码格式。如果你只是想查看其它编码格式的文件或者想解决 用Vim查看文件乱码的问题,那么你...
  • at System.Text.Encoding.GetEncoding (System.Int32 codepage) [ 0 x0025f] in <dca3b561b8ad4f9fb10141d81b39ff45>: 0 at DAHUASDK.DHClient..cctor () [ 0 x0000c] in < 3 ba3d1a18b7e4126942cbe57085c...
  • 简单说PATH就是一组路径的字符串变量,当你输入的命令不带任何路径时,LINUX会在PATH记录的路径查找该命令。有的话则执行,不存在则提示命令找不到。比如在根目录/下可以输入命令ls,在/usr目录下也可以输入ls,但...
  • 对于linux中txt文件出现的中文乱码问题,一部分是因为编码不同导致的 利用vim的set encoding, set fileencoding功能可以直接查询文件的编码格式,然而如果直接用命令 set encoding=utf-8和set fileencoding=utf-8 ...
  • linux中xml中文乱码

    千次阅读 2010-12-21 12:35:00
    现象:   linux可以正常显示中文,但xml的中文有时显示乱码。 在xml头是UTF-8的xml,如果包含中文注释,上传到非 windows操作系统后。有时会出现乱码。 <?xml version="1.0" ...
  • linux系统中文乱码

    千次阅读 2019-09-05 16:12:01
    Linux系统如果对中文不支持,在处理中文时会提示错误,比如: 'latin-1' codec can't encode character u'\u017e' in position 11: ordinal not in range(256) 不管如何encoding、decoding都不能解决问题。 解决...
  • Linux中修改文件编码

    千次阅读 2020-03-18 16:13:41
    Linux中查看文件编码可以通过以下几种方式: 1.在Vim可以直接查看文件编码 :set fileencoding 即可显示文件编码格式。 如果你只是想查看其它编码格式的文件或者想解决用Vim查看文件乱码的问题,那么你可以在 ~/...
  • HTTP HeaderAccept-Encoding

    千次阅读 2019-10-09 09:31:57
    HTTP HeaderAccept-Encoding 是浏览器发给服务器,声明浏览器支持的编码类型[1] 常见的有 Accept-Encoding: compress, gzip //支持compress 和gzip类型 Accept-Encoding: //默认是identity Accept-Encoding: *...
  • LinuxMint解决中文文本乱码问题

    千次阅读 2017-11-14 17:35:59
    Linux中打开Windows下制作的文本文件时经常会遇到中文乱码的情况,这是因为Linux使用 UTF-8 编码,而Windows使用的中文编码是 GB18030 。可以通过使Linux 的文本编辑器支持 GB18030 编码来解决。 首先在软件管理...
  • linux中vi显示中文乱码的问题

    千次阅读 2019-04-06 16:55:06
    方法一: 由于在windows下默认是gb编码,而我的vim默认是utf-8(gedit默认也是utf-8),所以打开会成乱码。修改了一下配置文件,使vi支持gb编码就好了。 $vi ~/.vimrc ...vim编辑不同编码的文件时需...
  • 1. 运行: java -Dfile.encoding=utf-8 -jar Test.jar 2. 编译: javac -encoding utf-8 Test.java 内置tomcat设置 spring.http.encoding.force=true spring.http.encoding.charset=UTF-...
  • linux部署springboot项目中文乱码

    千次阅读 2019-11-28 16:49:10
    linux部署springboot项目中文乱码linux部署springboot项目中文乱码问题描述:解决办法: 问题描述: 将springboot项目打成jar包部署到linux服务器发现中文乱码 ...java -Dfile.encoding=utf-8 -jar xxxxx.jar ...
  • 在 Vim , 有四个与编码有关的选项, 它们是: fileencodings、 fileencodingencoding 和 termencoding。 在实际使用, 任何一个选项出现错误, 都会导致出现乱码。 因此, ...
  • 前言在我的工具网站的在线文字生成图片功能,开发是在Windows系统进行的,在Windows一切良好,英文都能很好的展示,但是在我将程序部署到Linux中后,却出现生成的图片中文全部乱码(显示成一个个的方框)。...
  • linux中显示中文乱码的问题

    千次阅读 2011-08-05 10:33:55
    from:http://blog.csdn.net/seuxiaoqi/article/details/5577195   linux中显示中文乱码的问题 分类: linux2010-05-11 09:15 818人阅读
  • Linux中vi显示中文乱码的问题

    千次阅读 2011-04-10 05:19:00
    Linux中vi显示中文乱码的问题
  • public class PropertiesTest { public static void main(String[] args) { ...file.encoding:"+System.getProperty("file.encoding")); System.out.println("sun.jnu.e...
  • encoding: Vim 内部使用的字符编码方式,包括 Vim 的 buffer ...fileencoding: Vim 当前编辑的文件的字符编码方式,Vim 保存文件时也会将文件保存为这种字符编码方式 (不管是否新文件都如此)。 fileencodings:

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 118,791
精华内容 47,516
关键字:

linux中encoding

linux 订阅