咖咖下载 - 精品软件高速下载!

当前位置:首页 > 系统教程 > 软件教程 > 详情

Linux系统查找替换非UTF-8编码文件该怎么办

时间:2022-04-25 来源:咖咖下载

  众所周知,UTF-8是Linux系统下的一种可变长度的字符万国码,使用UTF-8码就可以支持多种语言。当某些文件并不是UTF-8编码的时候,我们可以用命令来查找替换非UTF-8码。那么,如何操作呢?跟紧跟随辉哥一起来看看Linux系统查找替换非UTF-8编码文件该怎么办。

Linux系统查找替换非UTF-8编码文件该怎么办
UTF-8

  首先,开始之前,请先安装enca这个软件包。enca是Linux等系统下用来查看文件编码和转换文件编码的工具。

  下面一行Linux命令能够查找当前目录下所有文件中,哪些文件不是UTF-8编码。我对文件加了些限制,用find命令时候,排除了所有目录下的.svn目录,且只查找后缀为.php的文件。

  命令1:

  jw@~/sqlite>

  find 。 ! -iregex ‘.*.svn.*’ -type f -name ‘*.php’ -exec bash -c “enca -L zh_CN {}|grep GB2312 》 /dev/null && echo {}” ;

  ./sqlite_utility.php

  ./sqlite_result.php

  ./sqlite_forge.php

  ./sqlite_driver.php

  既然找到了这些非UTF8编码的文件,接下来再用一条命令将他们都转换成UTF8编码。

  命令2:

  jw@~/sqlite>

  find . ! -iregex ‘.*.svn.*’ -type f -name ‘*.php’ -exec bash -c “enca -L zh_CN {} | grep GB2312 》/dev/null && enconv -L zh_CN -x UTF-8 {}” ;

  当你用命令2 全部转换完成后,如果你期待命令1的输出为空,那么你就错了。实际上英语字母的utf8编码和ASCII编码是一样的。当一个全是英文字母的文件用UTF8 w/o BOM编码保存,那么enca会识别他是一个ACSII编码的文件。所以,你猜到了,命令2做了一些无用功。

  以上就是Linux系统查找替换非UTF-8编码文件该怎么办,更多精彩内容继续关注咖咖下载官网。

相关内容

  • 电脑usb接口没反应怎么解决

    电脑一个我们熟知熟用的设备,而随着时代的发展电脑步入了千家万户,科技的发展,电脑的更新换代,我们不得不认可的是科技发展的迅猛。不过电脑的出现也会给我们造成一定的困扰,例如...

    2022/04/25

  • 笔记本无线网卡怎么打开?

    笔记本无线网卡如何打开?无线网卡是终端无线网络的设备,是不通过有线连接,采用无线信号进行数据传输的终端,而笔记本电脑就是为了更好的让用户更加方便的使用,不少朋友也不知道...

    2022/04/25

pl

系统教程栏目

栏目热门教程

人气教程排行

站长推荐

热门系统下载