博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ubuntu下打开文件乱码及编码转换
阅读量:6648 次
发布时间:2019-06-25

本文共 975 字,大约阅读时间需要 3 分钟。

txt文件在Windows下可以正常显示,Ubuntu下打开文件乱码。这是中文编码问题,Windows下用的是gb2312,而linux下用的是utf8。在此提供5种解决方案:

1. 在文档所在目录运行命令

     iconv -f gb2312 -t utf8 -c 1.txt > 2.txt

 选项-c的作用是忽略不能识别的字符,继续向后转换。否则iconv遇到不能识别的字符就终止转换。
 iconv不能实现批量转换,你需要写一段小程序来达到此目的。
 

2.  运行命令

ubuntu默认的打开.txt文件用的是gedit,可gedit默认编码是UTF8,打开windows下编辑的gb2312的文档都是乱码{Windows中默认的文件格式是GBK(gb2312),(GBK编码是GB2312编码的超集,向下完全兼容GB2312。)}。解决方法就是把gedit的默认编码改为GB2312。

      gconf-editor

  然后点开:apps->gedit-2->preferences->encodings

  双击encodings中的auto-detected

  在弹开的对话框中加入GB2312

  再将GB2312移到最上,退出。

3. 用openoffice打开。文件──打开   打开你想要打开的.txt文件,在打开的时候会弹出窗口询问要选择何种字符。如图选择简体中文(GB18030),(GB18030编码向下兼容GBK和GB2312,兼容的含义是不仅字符兼容,而且相同字符的编码也相同。)则打开之后会正常显示了。只是每次都要询问

4. 在Windows上完成从gbk到uft-8的转换,相对于方法1效果要好一些。具体方法如下:

F:\语料库\tc-corpus-train\train>for /r C4-Literature %i in (*.txt) do iconv.exe -f gbk -t utf-8 %i > %~ni.txt

5. 使用enca。
enca可自动判别原文件的编码类型,并且支持通配符,就此能实现批量转换。
enca -L 原文件语言类型 -x 目标编码 原文件名
例如:enca -L zh_CN -x utf-8 file.txt
但是enca会经常遇到转换失败的情况,当然对于不能转换的enca会给出错误报告。

转载地址:http://jruto.baihongyu.com/

你可能感兴趣的文章
RCP学习:Bundle的生命周期
查看>>
现代 C++ 编程指南
查看>>
记录我的旅程8之JavaScript Dom学习笔记
查看>>
.NET中的加密算法总结(自定义加密Helper类续)
查看>>
sql 跨服务器数据库查询数据
查看>>
VBA SQLServer 基本操作
查看>>
在HTML语言网页中加载视频的代码
查看>>
POJ 1274 The Perfect Stall(二分图匹配)
查看>>
PHP全局错误处理
查看>>
数的1、2、3次方是否均为回文数
查看>>
kramdown 0.14.0,Ruby 的 Markdown 解析器
查看>>
[原创]ExtAspNet秘密花园(十五) — 表格概述
查看>>
GNU make manual 翻译( 一百四十四)
查看>>
第二十四章 异常和错误处理 1异常
查看>>
Java异常处理机制
查看>>
Linux 内核启动流程(转)
查看>>
reverse()的实现字符串反转和模板reverse的实现
查看>>
Qios.DevSuite 免费的winform控件库
查看>>
200多个js技巧代码(七)
查看>>
Linux Kernel 3.7 RC3/3.6.4/3.4.16/3.0.49
查看>>