处于linux命令,想在linux系统中处理一些表格信息,但是在linux输入cat solr |head -2中文字符出现乱码,百度之后才知道linux下文件编码必须是utf-8中文字符才不会出现乱码。经过多方求助,才得知解决方法。
涧西网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、响应式网站等网站项目制作,到程序开发,运营维护。创新互联成立于2013年到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。
linux环境如何查看文件编码:
file filename
file是命令,filename是文件名
可以从上图看出solr.txt的编码是utf-16,所以要转换成utf-8。
linux环境如何实现编码转换:
iconv -f utf-8 -t utf-16 keyword -o keyword1
iconv -f 源文件格式 -t 想要转成的格式 文件名 -o 输出文件名
上图所示,中文字符乱码经过转换之后可以输出正常的中文字符。
linux下使用iconv命令转换gbk编码为UTF-8编码
1.
通过iconv -l 命令查看,其支持的编码格式还不少,之间可以互相转换
2.
转换gbk编码文件为utf-8编码文件简洁命令:iconv -f gbk -t utf-8 index.html aautf8.html -f指的是原始文件编码,-t是输出编码 index.html 是原始文件 aautf8.html是输出结果文件
3.
转换gbk编码文件为utf-8编码文件详细命
linux下文件编码格式转换方法(gb18030/utf-8)
在 Linux 做开发或者系统管理遇到乱码是经常的事情,主要windows下中文的默认编码是bg2312,而 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”则会报错。这对于脚本编写是比较方便的事情。
1.在Vim中直接进行转换文件编码,比如将一个文件转换成utf-8格式
:set
fileencoding=utf-8
2.
enconv
转换文件编码,比如要将一个GBK编码的文件转换成UTF-8编码,操作如下
enconv
-L
zh_CN
-x
UTF-8
filename
3.
iconv
转换,iconv的命令格式如下:
iconv
-f
encoding
-t
encoding
inputfile
比如将一个UTF-8
编码的文件转换成GBK编码
iconv
-f
GBK
-t
UTF-8
file1
-o
file2
查看文件编码file命令
file
ip.txt
ip.txt:
UTF-8
Unicode
text,
with
escape
sequences
一、利用iconv命令进行编码转换文件内容编码转换
iconv命令用于转换指定文件的编码,默认输出到标准输出设备,亦可指定输出文件。
用法:
iconv
[选项...]
[文件...]
有如下选项可用:
输入/输出格式规范:
-f,
--from-code=名称
原始文本编码
-t,
--to-code=名称
输出编码
信息:
-l,
--list
列举所有已知的字符集
输出控制:
-c
从输出中忽略无效的字符
-o,
--output=FILE
输出文件
-s,
--silent
关闭警告
--verbose
打印进度信息
-?,
--help
给出该系统求助列表
--usage
给出简要的用法信息
-V,
--version
打印程序版本号
例子:
iconv
-f
utf-8
-t
gb2312
aaa.txt
bbb.txt
这个命令读取aaa.txt文件,从utf-8编码转换为gb2312编码,其输出定向到bbb.txt文件。