我们已经准备好了,你呢?

2024我们与您携手共赢,为您的企业形象保驾护航!

这两天在把之前的项目搬到虚拟机的时候,遇到了一个问题,就是文件编码格式的问题。虚拟机下默认是GBK,Linux下默认是utf-8。之前的项目因为表配置等原因,使用了该编码格式,导致搬到Linux上的时候,所有的中文都是乱码。虽然可以通过更换Linux环境来解决,但是考虑到一些原因,比如维护的方便等,我打算通过转换文件格式来解决。找了些资料,做了一些整理和总结。

有很多方法,但是这里写的方法是最简单且经过最多测试的方法。

1.enca(如果没有这个命令,可以用apt-get获取)

格式:$enca -L 当前语言 -x 目标编码文件名

具体使用方法可以使用enca --help,下面是一些问题,首先,你可以使用enca文件名

如图所示,它可以显示文件的编码格式,然后就可以使用上面的命令进行转换了,但是它有一个问题,很多格式它都不支持,比如不支持......(可以使用enca --list来查看,如图)

转换格式文件免费_linux 文件格式转换_转换格式文件会变小

当然也可以不指定文件编码,而直接指定目标编码,也可以直接转换。比如我上面就解决了,没有指定。如果要批量转换文件下所有文件,只要把文件名替换成*就可以了,但是有个很大的问题,就是不支持-r,也就是递归子文件夹,这个是个很蛋疼的问题,所以就放弃了这个命令。

2.iconv

这个命令大家应该都知道,是Linux中转换文件格式的常用命令,但是有一个问题,就是不能批量转换。怎么办呢?这时候我们就需要用到Linux强大的命令行了。还记得find命令吗?这个命令可以做很多事情,这里我们就用它来解决这个问题。下面的命令是我查资料的时候找到的,具体如下:

查找 -type d -exec mkdir -p utf/{}\;

查找 -type f -exec iconv -f GBK -t UTF-8 {} -o utf/{} \;

该命令的意思是把所有UTF-8下的文件都转换过来并且目录结构不变,把转换后的文件放到utf文件夹下。具体和utf可以自行更改。转换之后mv或者cp我就不细说了。希望以上对大家有帮助。

参考:

二维码
扫一扫在手机端查看

本文链接:https://by928.com/4252.html     转载请注明出处和本文链接!请遵守 《网站协议》
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。

项目经理在线

我们已经准备好了,你呢?

2020我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

13761152229

上班时间

周一到周五

公司电话

二维码
微信
线