linux系统下 文件夹和文件的字符集编码方式转换

linux系统下 文件夹和文件的字符集编码方式转换,第1张

网站有一些课件资源是从windows传到Linux服务器,在windows下文件夹编码方式为GBK,而浏览器默认的编码模式为UTF-8(服务器默认编码也为UTF-8),如此,便导致了类似http://xxxx//Resources/北师大/初中语文/八年级上/本册综合/绿ppt  这样的域名的无法访问,提示找不到资源。

   解决办法:用convmv工具将Resources目录下的所有文件的名称使用utf-8重新编码

   下载convmv:wget  https://wwwj3ede/linux/convmv/convmv-115targz

注:若用ftp客户端访问资源时,遇到乱码情况,也请核实客户端编码方式和服务器是否一致

make clean

make install

/convmv -f GB2312  -t UTF-8 -r --notest /Resources/

以上讲述了在linux下修改目录名编码的方法,再扩展一下文件内容更改编码的方法

1在Vim中直接进行转换文件编码,比如将一个文件转换成utf-8格式

   :set fileencoding=utf-8

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

   iconv -f encoding -t encoding inputfile

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

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

查看文件编码是set fileencoding 解决用Vim查看文件乱码的问题在~/vimrc文件添加

set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936

我不清楚你的环境是什么 (发行版,字符模式命令行,还是图形模式终端)

以我在字符模式命令行下的测试, 如果不加载zhcon或者fbterm之类的程序

cat more less等都无法正常显示gb2312字符, 不管LANG的设置是什么

而且这些程序不存在什么默认输出 都是调用gettext库来实现的

怪不得 这个跟远程服务器上的locale无关, 主要看你的secureCRT里面的字符编码设置 这个具体我也不太清楚了,因为很少用secureCRT , 但是我用putty测试了一下,文件是GB2312编码,远程是LANG=C ,putty设置为use font encoding , cat less more都正常显示汉字

换GBK测试也通过 不知道你的怎么回事

Linux系统有一个od命令,可以将文件的内容以16进制形式显示出来,它的用法是这样的:

od -t xCc 文件名

-t xCc表示用16进制来输出文件的内容,同时用ASCII字符对照显示,例子:

od -t xCc /etc/issue

如何更改linux文件目录拥有者及用户组?

更改Linux文件目录的拥有者可以用chown命令,chown的意思就是changeowner,它的用法是:chown用户名:用户组名文件或目录用户名是需要修改成哪个用户所有,用户组名是修改成哪个用户组(厉害不,还能修改所属用户组),注意用户名和组名之间的那个冒号是英文冒号,后面接着是需要修改的文件或目录,一个示例:

chownroot:root/home/mydir示例将/home/mydir目录的拥有者修改为root,所属用户组修改为root用户组。

如果只想修改拥有者呢,那只给出一个用户名就可以了,就像下面这样:

chownroot/home/testfile注意:chown有一个选项,对于修改目录的所有者很有用,那就是-R选项,-R选项表示递归修改,就是连目录下的子目录里面的所有文件、目录都修改所有者。

如果只想修改文件或目录所属用户组呢,那可以用chgrp命令,用法和chown类似:chgrp用户组文件或目录chgrp命令也有一个-R选项噢,和chown的-R选项用法一样,都是用于目录。

Linux系统里包含Linux专用头文件的开源程序怎么转换成Windows下的exe程序?

可以用cygwin里的gcc直接编译,只不过运行的时候需要cygwin环境不嫌麻烦的话那些函数你也可以用windowsapi实现一遍

linux把文件压缩成targz的命令?

1、连接上相应的linux主机,进入到等待输入shell指令的linux命令行状态下。

2、在linux命令行下输入shell指令:tar-czftesttargztesttxt。

3、最后,按下回车键执行shell指令,此时会看到testtxt被成功压缩为testtargz。

linux中转换windows文件编码?

查看文件编码

在Linux中查看文件编码可以通过以下几种方式:

1在Vim中可以直接查看文件编码

:setfileencoding

即可显示文件编码格式。

如果你只是想查看其它编码格式的文件或者想解决用Vim查看文件乱码的问题,那么你可以在

~/vimrc文件中添加以下内容:

setencoding=utf-8fileencodings=ucs-bom,utf-8,cp936

这样,就可以让vim自动识别文件编码(可以自动识别UTF-8或者GBK编码的文件),其实就是依照fileencodings提供的编码列表尝试,如果没有找到合适的编码,就用latin-1(ASCII)编码打开。

文件编码转换

1在Vim中直接进行转换文件编码,比如将一个文件转换成utf-8格式

:setfileencoding=utf-8

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

iconv-fencoding-tencodinginputfile

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

iconv-fGBK-tUTF-8file1-ofile2

iconv-fgbk-tutf8linux常用命令txt>linux常用命令txtutf8

文件名编码转换:

从Linux往windows拷贝文件或者从windows往Linux拷贝文件,有时会出现中文文件名乱码的情况,出现这种问题的原因是因为,windows的文件名中文编码默认为GBK,而Linux中默认文件名编码为UTF8,由于编码不一致,所以导致了文件名乱码的问题,解决这个问题需要对文件名进行转码。

在Linux中专门提供了一种工具convmv进行文件名编码的转换,可以将文件名从GBK转换成UTF-8编码,或者从UTF-8转换到GBK。

首先看一下你的系统上是否安装了convmv,如果没安装的话用:

yum-yinstallconvmv

安装。

下面看一下convmv的具体用法:

convmv-f源编码-t新编码文件名

常用参数:

-r递归处理子文件夹

--notest真正进行操作,请注意在默认情况下是不对文件进行真实操作的,而只是试验。

--list显示所有支持的编码

--unescap可以做一下转义,比如把%20变成空格

比如我们有一个utf8编码的文件名,转换成GBK编码,命令如下:

convmv-fUTF-8-tGBK--notestutf8编码的文件名

这样转换以后"utf8编码的文件名"会被转换成GBK编码(只是文件名编码的转换,文件内容不会发生变化)

怎么把文件转化为linux文件?

把Dos/Windows下的文件移至Linux/Unix系统

虽然很多程序不在乎DOS/Windows格式的CR/LF文本文件,但是有几个程序却在乎--最著名的是bash,只要一遇到回车,它就会出问题。以下sed调用将把DOS/Windows格式的文本转换成可信赖的UNIX格式:

$sed-e's/$//'mydostxt>myunixtxt

该脚本的工作原理很简单:替代规则表达式与一行的最末字符匹配,而该字符恰好就是回车。我们用空字符替换它,从而将其从输出中彻底删除。如果使用该脚本并注意到已经删除了输出中每行的最末字符,那么,您就指定了已经是UNIX格式的文本文件。

1,使用file 命令查看文件的编码格式

[root@dep-184 /]# file 1txt

1txt: ISO-8859 text

2,vim 命令

使用vim命令进入文件 1txt,然后在使用 “:set fileencoding” 查看文件当前展示的编码格式(这里必须确保展示内容无乱码,才可以得到内容真实的编码格式)

3,enca命令 《Linux就该这么学》

使用enca可以直接查看文件内容的编码格式,如下

[root@dep-184 /]# enca 1txt

Simplified Chinese National Standard; GB2312

-----Window下下查看及更改oracle字符集编码打开注册表--HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMExx\NLS_LANG修改NLS_LANG的键值# 常用中文字符集

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

iptxt

iptxt:

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

aaatxt

>bbbtxt

这个命令读取aaatxt文件,从utf-8编码转换为gb2312编码,其输出定向到bbbtxt文件。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » linux系统下 文件夹和文件的字符集编码方式转换

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情