linux gbk转utf8,linux文件转换utf8

很多朋友对于linux gbk转utf8和linux文件转换utf8不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!

linux查看系统编码格式命令linux查看系统编码

linux有查看支持那些编码的命令吗?

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

2、其次,在linux命令行中输入:echo$LANG。

3、最后,按下回车键执行shell指令,此时会看到该linux的汉字编码是utf-8。

linux怎么看文本的编码格式?

linux下经常遇到的编码问题如果你需要在linux中操作windows下的文件,那么你可能会经常遇到文件编码转换的问题。windows中默认的文件格式是gbk(gb2312),而linux一般都是utf-8。

查看编码的方法

方法一:filefilename

方法二:在vim中可以直接查看文件编码

:setfileencoding

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

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

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

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

文件编码转换

多平台方法:

iconv提供标准的程序和api来进行编码转换;

convert_encoding.py基于python的文本文件转换工具;

decodeh.py提供算法和模块来谈测字符的编码;

linux下文件编码转换:

方法一:

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

:setfileencoding=utf-8

或者

11)设置文件集合,即要对哪些文件进行操作,可以使用通配符,比如我通常是对c/c++源程序进行编码转换

:args*.h*.cpp

2)给出要在每个文件上执行的命令,这里是转换编码:

:argdosetfenc=utf-8|update

方法二:

iconv转换

5.案例:

假如说我们将windows下的一个utf-8的文件传到linux环境下,linux环境下的系统编码是gb18030,我们cat的时候就会出现乱码,这个时候就应该想到转码了,下面我们来进行试验:

我们将windows下一个名为utf-8.sh的文件传到linux系统中,其中utf-8.sh的内容如下:

我是中文编码utf-8模式~

而linux系统的系统语言设置为:

#cat/etc/sysconfig/i18n

lang=zh_cn.gb18030

sysfont="latarcyrheb-sun16"

这个时候查看一下文件的内容及编码:

#fileutf-8.sh

utf-8.sh:utf-8unicodetext,withnolineterminators

#catutf-8.sh

锘挎__?腑___镰_tf-8妯″纺~#

#

这个时候我们就需要转换编码了,记得使用iconv

#iconv-futf-8-tgb18030utf-8.sh-ogb18030.sh

#catgb18030.sh

??我是中文编码utf-8模式~#

#filegb18030.sh

gb18030.sh:non-isoextended-asciitext,withnolineterminators

#

convmv就是更改文件名编码方式的一个工具。

比如

sudoconvmv-fgbk-tutf-8-r_notest/home

就是将/home目录下原来文件名是gbk编码方式的全部改为utf-8格式的。这里-f后面为原来的编码方式,-t后面是要更改为的编码方式,-r表示这个目录下面的所有文件,_notest表示马上执行,而不是仅仅测试而已。另外这命令好像要root才能执行,因此要加上sudo。

linux怎么看文件的字符集编码?

可以在命令行执行file命令查看返回信息以便确认文件的字符集编码。

格式:file文件名

例如:

#fileABC.log

ABC.log:UTF-8Unicodetext

从结果看该文件是utf-8格式

#fileword.txtword.txt:ASCIItext

从结果看该文件是gbk格式

如果不符合要求,可以通过iconv命令更改文件格式。

linux下怎么改变文件的编码格式?

查看文件编码在Linux中查看文件编码可以通过以下几种方式:1.在Vim中可以直接查看文件编码:setfileencoding即可显示文件编码格式。如果你只是想查看其它编码格式的文件或者想解决用Vim查看文件乱码的问题,那么你可以在~/.vimrc文件中添加以下内容:setencoding=utf-8fileencodings=ucs-bom,utf-8,cp936这样,就可以让vim自动识别文件编码(可以自动识别UTF-8或者GBK编码的文件),其实就是依照fileencodings提供的编码列表尝试,如果没有找到合适的编码,就用latin-1(ASCII)编码打开。2.enca(如果你的系统中没有安装这个命令,可以用sudoyuminstall-yenca安装)查看文件编码$encafilenamefilename:Universaltransformationformat8bits;UTF-8CRLFlineterminators需要说明一点的是,enca对某些GBK编码的文件识别的不是很好,识别时会出现:Unrecognizedencoding文件编码转换1.在Vim中直接进行转换文件编码,比如将一个文件转换成utf-8格式:setfileencoding=utf-82.enconv转换文件编码,比如要将一个GBK编码的文件转换成UTF-8编码,操作如下enconv-Lzh_CN-xUTF-8filename3.iconv转换,iconv的命令格式如下:iconv-fencoding-tencodinginputfile比如将一个UTF-8编码的文件转换成GBK编码iconv-fUTF-8-tGBKfile1-ofile2查看文件编码file命令fileip.txtip.txt:UTF-8Unicodetext,withescapesequences一、利用iconv命令进行编码转换文件内容编码转换iconv命令用于转换指定文件的编码,默认输出到标准输出设备,亦可指定输出文件。用法:iconv有如下选项可用:输入/输出格式规范:-f,--from-code=名称原始文本编码-t,--to-code=名称输出编码信息:-l,--list列举所有已知的字符集输出控制:-c从输出中忽略无效的字符-o,--output=FILE输出文件-s,--silent关闭警告--verbose打印进度信息-?,--help给出该系统求助列表--usage给出简要的用法信息-V,--version打印程序版本号例子:iconv-futf-8-tgb2312aaa.txt>bbb.txt这个命令读取aaa.txt文件,从utf-8编码转换为gb2312编码,其输出定向到bbb.txt文件。二、文件名编码转换因为现在用linux,原来在windows里的文件都是用GBK编码的。所以copy到linux下是乱码,文件内容可以用iconv来转换可是好多中文的文件名还是乱码,找到个可以转换文件名编码的命令,就是convmv。convmv命令详细参数例如convmv-fGBK-tUTF-8*.mp3不过这个命令不会直正的转换,你可以看到转换前后的对比。如果要直正的转换要加上参数--notestconvmv-fGBK-tUTF-8--notest*.mp3-f参数是指出转换前的编码,-t是转换后的编码。这个千万不要弄错了。不然可能还是乱码哦。还有一个参数很有用。就是-r这个表示递归转换当前目录下的所有子目录。*需要安装convmv-1.10-1.el5.noarch.rpm三、更好的傻瓜型命令行工具enca,它不但能智能的识别文件的编码,而且还支持成批转换。1.安装$sudoapt-getinstallenca2.查看当前文件编码enca-Lzh_CNip.txtSimplifiedChineseNationalStandard;GB2312Surroundedby/intermixedwithnon-textdata3.转换命令格式如下$enca-L当前语言-x目标编码文件名例如要把当前目录下的所有文件都转成utf-8enca-Lzh_CN-xutf-8*检查文件的编码enca-Lzh_CNfile将文件编码转换为"UTF-8"编码enca-Lzh_CN-xUTF-8file如果不想覆盖原文件可以这样enca-Lzh_CN-xUTF-8file1>file2

linux文件一般是什么编码格式?

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

1.在Vim中可以直接查看文件编码:setfileencoding即可显示文件编码格式。如果你只是想查看其它编码格式的文件或者想解决用Vim查看文件乱码的问题,那么你可以在~/.vimrc文件中添加以下内容:setencoding=utf-8fileencodings=ucs-bom,utf-8,cp936这样,就可以让vim自动识别文件编码(可以自动识别UTF-8或者GBK编码的文件),其实就是依照fileencodings提供的编码列表尝试,如果没有找到合适的编码,就用latin-1(ASCII)编码打开。

2.enca(如果你的系统中没有安装这个命令,可以用sudoyuminstall-yenca安装)查看文件编码$encafilenamefilename:Universaltransformationformat8bits;UTF-8CRLFlineterminators需要说明一点的是,enca对某些GBK编码的文件识别的不是很好,识别时会出现:Unrecognizedencoding

gbk怎么转换成utf8gbk怎么转换成utf-8

如何将gbk编码的字符串转换成utf

GBK编码的文本,将其转换为UTF的方法

1.先打开一个文档,可以是txt、doc、docx,只要是word支持的。

2.可以先检查一下这个文档当前的编码方式,点击左上角的文件,然后选择选项。

3.向下滚动到常规部分,然后单击Web选项。

4.选择编码,然后您将看到当前的编码方法。我们这边是GB2312。

5.假设你要转换成UTF-8编码,那么此时点击另存为,弹出保存的弹出框,然后点击工具选择Web选项。

6.选择相同的编码,将GB2312更改为UTF-8,然后单击“确定”。

7.点击保存后,文档解码成功。

小刚SEO为你解答。

dede模板文件UTF-8编码与GBK编码如何互相转换?

GBK(gb2312)织梦dede模板文件转换为UTF-8编码dede模板文件第一步:把每个模板的头部metahttp-equiv="Content-Type"content="text/html;charset=gb2312">改为metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>第二步:把所有的模板文件用editplus(文本编辑软件,很好用,网上很多下载)打开,选择“文档/文件编码方式/批量更改文件编码方式”菜单,然后选中全部打开的文件,然后选择utf-8,点确定,全部转化格式,即可。UTF-8编码织梦dede模板转换为GBK(gb2312)步骤同上。备注:editplus到多特或者crsky下载,很好用。

如何将WCHAR转成std:string?

C++11的std::wstring_convert配合std::codecvt模板类完全可以解决这个问题,不会出现

@vczh

所说修改了全局locale会导致污染其他库的问题。这两个模板类的功能是:

std::wstring_convert:转码器,接收一个类似codecvt描述编码转换特性的模板参数,用于将本地化的宽字符wstring和指定编码的字节化string进行互转。

std::codecvt:编码转换特性类,用在wstring_convert的模板参数中来指定使用哪种编码。

所以编码A和B互转的实现方式就是:借助本地化宽字符串,先将以A编码的string转为本地化的wstring,再将本地化的wstring转为B编码后的string。codecvt一般使用下面两个特化子类:std::codecvt_utf8wchar_t>:用于UTF8和本地化wchar_t的互转std::codecvt_bynamewchat_t,char,std::mbstate_t>:用于其他编码(例如GBK)和本地化wchar_t的互转,类的构造函数需要传入编码的localename,

由于编码的localename是操作系统决定的(例如GBK在linux下的locale名可能是"zh_CN.GBK",而windows下是".936"),因此做跨平台的话仍然要给不同的系统做适配。

这里给一个windows下,GBKstring转UTF8string的例子:首先将GBKstring转wstring

再将wstring转为UTF8string转码就完成了。utf8_str里的内容应该是"xE7x83xAB"(烫的UTF8)。

如何将许多ANSI格式的txt文档批量转换成UTF8格式?

假设你的文件是ansi(gbk),用ReplacePioneer批量转换为UTF8的方法如下:

第一步:选文件1.打开Tools->BatchRunner菜单2.点击PickFiles,用鼠标对需要处理的多个文件进行多选。

第二步:变换编码1.点击ChangeEncode按钮2.点击inputencoding,设置成CN->gbk3.点击outputencoding,设置成utf-84.点击start,完成注:如果你想把输出保存到新文件里,可以在点击Start之前修改setoutputfilename,把它从${FILENAME}改成新的规则,比如${FILENAME}.new,还要注意备份,以防操作失误。另外,你还可以把输出保存到新文件夹里。

如果你要的utf-8文件带BOM标识,需要选utf-8-BOM而不是utf-8

linux下怎么把文件转化字符集?

将gbk编码的文件转化为utf8编码,将转化后的结果存到file.utf8中

iconv-fgbk-tutf8file.gbk-ofile.utf8

从oracle中取出的数据是gbk字符集格式的,如何转换成UTF-8字符集?

Oracle字符集是一个字节数据的解释的符号集合,有大小之分,有相互的包容关系。ORACLE支持国家语言的体系结构允许你使用本地化语言来存储,处理,检索数据。

它使数据库工具,错误消息,排序次序,日期,时间,货币,数字,和日历自动适应本地化语言和平台。影响Oracle数据库字符集最重要的参数是NLS_LANG参数。它的格式如下:NLS_LANG=language_territory.charset它有三个组成部分(语言、地域和字符集),每个成分控制了NLS子集的特性。

其中:Language:指定服务器消息的语言,影响提示信息是中文还是英文Territory:指定服务器的日期和数字格式,Charset:指定字符集。如:AMERICAN_AMERICA.ZHS16GBK从NLS_LANG的组成我们可以看出,真正影响数据库字符集的其实是第三部分。所以两个数据库之间的字符集只要第三部分一样就可以相互导入导出数据,前面影响的只是提示信息是中文还是英文。

如何将gbk转换成utf-8gbk怎么转换成utf-8

win7系统默认编码是如何将gbk改为utf-8的

在Win7系统下,如果一个文档文件的编码是GBK,需要改成UTF-8,可以通过另存为来修改。该方法如下:

1.打开GBK的txt文档,然后点击“文件”-“另存为”打开。

2.在“另存为窗口”中点击“编码”,选择“UTF-8”进行保存。

scala中怎么把字符的编码方式从gbk转换成utf8?

1.假设你使用了Apache的Commons-io包CommonsIO-

CommonsIOOverview,可以使用如下代码:

importjava.io.File

importorg.apache.commons.io.FileUtils

valfile=newFile(filename)

content=FileUtils.readFileToString(file,"gbk")

FileUtils.write(file,content,"UTF-8")

2.如果你用的是JAVA7:

importjava.nio.file.{Paths,Files}

valcontent=io.Source.fromFile(filename,"gbk").mkString

Files.write(Paths.get(filename),content.getBytes("UTF8"))

如何将gbk字符文件转为utf8字符文件?

读入:BufferedReaderbr=newBufferedReader(newInputStreamReader(newFileInputStream(fileFrom),Charset.forName("GBK")));

写出:BufferedWriterbw=newBufferedWriter(newOutputStreamWriter(newFileOutputStream(fileTo),Charset.forName("UTF-8")));

char类型怎么转换为string?

C++11的std::wstring_convert配合std::codecvt模板类完全可以解决这个问题,不会出现

@vczh

所说修改了全局locale会导致污染其他库的问题。这两个模板类的功能是:

std::wstring_convert:转码器,接收一个类似codecvt描述编码转换特性的模板参数,用于将本地化的宽字符wstring和指定编码的字节化string进行互转。

std::codecvt:编码转换特性类,用在wstring_convert的模板参数中来指定使用哪种编码。

所以编码A和B互转的实现方式就是:借助本地化宽字符串,先将以A编码的string转为本地化的wstring,再将本地化的wstring转为B编码后的string。codecvt一般使用下面两个特化子类:std::codecvt_utf8wchar_t>:用于UTF8和本地化wchar_t的互转std::codecvt_bynamewchat_t,char,std::mbstate_t>:用于其他编码(例如GBK)和本地化wchar_t的互转,类的构造函数需要传入编码的localename,

由于编码的localename是操作系统决定的(例如GBK在linux下的locale名可能是"zh_CN.GBK",而windows下是".936"),因此做跨平台的话仍然要给不同的系统做适配。

这里给一个windows下,GBKstring转UTF8string的例子:首先将GBKstring转wstring

再将wstring转为UTF8string转码就完成了。utf8_str里的内容应该是"xE7x83xAB"(烫的UTF8)。

dede模板文件UTF-8编码与GBK编码如何互相转换?

GBK(gb2312)织梦dede模板文件转换为UTF-8编码dede模板文件第一步:把每个模板的头部metahttp-equiv="Content-Type"content="text/html;charset=gb2312">改为metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>第二步:把所有的模板文件用editplus(文本编辑软件,很好用,网上很多下载)打开,选择“文档/文件编码方式/批量更改文件编码方式”菜单,然后选中全部打开的文件,然后选择utf-8,点确定,全部转化格式,即可。UTF-8编码织梦dede模板转换为GBK(gb2312)步骤同上。备注:editplus到多特或者crsky下载,很好用。

encoding=utf-8怎么用?

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

阅读剩余
THE END