linux 部分中文文件乱码怎么解决

linux 部分中文文件乱码怎么解决,第1张

linux文件名、文件内容乱码,主要原因是windows上的中文编码默认是gbk,而linux默认中文编码为utf-8,由于编码不一致,所以导致乱码问题。

为了解决这个乱码,需要对文件进行转码,具体如下:

1、前提保证已安装了convmv;

2、具体convmv的用法:

convmv

–f

源编码

–t

新编码

[选项]

文件名

一般常用参数:

-r

递归处理子目录

--notest

真正进行 *** 作,默认情况下是不对文件进行真实 *** 作的,只是一个预览

--list

显示所有支持的编码

--unescap

可以做一个转义

3、比如我们有一个utf8的文件名,要求转换成gbk编码,命令如下:

convmv

–f

utf-8

–t

gbk

–notest

文件名

也可以使用linux下最好用的编码转换工具iconv来进行转码 *** 作。

例子:将gbk编码的文件转换成utf-8

iconv

-f

gbk

-t

utf-8

gbkfile.txt

>

utf8file.txt

Linux中文显示不正常大多是终端字符集设置的不对,因为终端屏幕显示信息是以设置的语言来显示的,如果语言是英文或者其他编码语言设置,显示中文时就是乱码。设置终端字符集需要设置LANG这个环境变量,设置方法是在终端输入LANG=zh_CN.UTF-8,设置好LANG变量后,再在终端上用ls命令查看一下带有中文的文件名应该就有效果了。

如果经过上面的设置后,用ls命令可以正常列出中文文件名了,那就最好将LANG=zh_CN.UTF-8这一行添加到~/.bashrc这个配置文件中,然后执行命令:source

~/.bashrc,使配置文件的设置马上生效,这样终端就被完美的设置成UTF-8中文编码了。

Windows下的文字到了Linux下乱码原因是Windows中默认的文件格式是GBK(gb2312),而Linux一般都是UTF-8,编码格式不相同导致的乱码。

几种解决办法如下:

1、在Windows上用记事本把文件,选择另存为编码方式改为 UTF-8;

2、在Linux上用vim编辑,在命令模式下输入:

:set fileencoding=utf-8

3、iconv 转换,iconv的命令格式如下:

iconv -f encoding -t encoding inputfile

#比如将一个GBK编码的文件转换成UTF-8编码

iconv -f UTF-8 -t GBK file1 -o file2

#转码后,在Linux上面就不会乱码了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7515100.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-06
下一篇 2023-04-06

发表评论

登录后才能评论

评论列表(0条)

保存