linux修改编码命令 linux修改显示编码

如何批量修改linux 文件编码格式批量转换文件的编码当然是使用命令来转换咯,如果文件太多还可以写一个shell脚本进行批量转换,Linux系统中转换文件编码格式的命令是iconv 。iconv命令的使用介绍一下,iconv命令很简单,记住它的三个参数就可以了 , 下面是它的三个参数:
-f参数:表示from,就是原本的编码格式
-t参数:表示to , 就是后来的新编码
-o参数:表示输出文件,就是转换编码后的新文件的文件名,如果没有这个参数新文件会将原来的文件覆盖掉 。
下面是将GB2312编码的文件转换成UTF-8编码的例子:
iconv
-f
gb2312
-t
utf8
mygb2312.txt
-o
myutf8.txt
这个例子中mygb2412.txt就是要转换的文件,myutf8.txt就是转换后的新文件 。
linux 怎么修改数据库编码格式【linux修改编码命令 linux修改显示编码】首先我们在终端窗口处输入mysql -u root -p 命令,然后输入root帐号密码连接数据库 。具体操作如下图所示 。
连接上数据库后,执行命令show variables like 'character%';查看数据库的编码格式,可以看到数据库以及数据库服务端的默认编码都为:latin1编码 。具体操作如下图所示 。
然后我们退出数据库,修改数据库的配置文件my.cnf文件,此文件如果通过rpm安装一般在/etc/目录下,具体修改成的样式如下图所示 。
修改完成后,我们保存配置的修改,然后执行命令service mysqld restart 。重新启动数据库 。具体操作如下图所示 。
然后我们待数据库重启完成后,重新连接数据库 , 执行命令show variables like 'character%'; 查看更改后的编码格式 。具体展示如下图所示,可以看到已经修改为utf8编码 。
当然对于某个数据库的编码格式的查看 , 我们可以通过执行命令show create database+数据库名称;具体展示如下图所示 。
我们也可以通过执行命令修改数据库的编码格式 , 可以通过命令:alter database +数据库名称default character set utf8 collate utf8_general_ci;修改为utf8格式 。具体操作如下图所示 。
修改完成后,我们再次执行命令 show create database +数据库名称,来查看确认是否更改成功 。可以看到已经是utf8格式了 。
linux下修改文件编码格式在windows下编写好的shell脚本 , 在linux下执行时,有时候会报错找不到/r 。
原因:Unix及类Unix系统里,每行结尾只有换行“\n”,Windows系统里面,每行结尾是换行+回车“\n\r”,编码格式不一样 。
windows文件格式dos
linux文件格式unix
解决方法:修改文件的编码 。
在linux上用vi打开文件
linux下文件编码格式转换方法(gb18030/utf-8)linux下文件编码格式转换方法(gb18030/utf-8)
在 Linux 做开发或者系统管理遇到乱码是经常的事情,主要windows下中文的默认编码是bg2312,而 linux下是utf-8 。很多时候 涉及到和windows平台系统的通信免不了编码的转化,可能大部分人都用iconv库函数(包含在glib中)和iconv命令来执行编码转换,即:
iconv -f gb18030 -t utf-8 file1.txt -o file2.txt
说实话这个命令不好使,一方面容易重复转换,另一方面不支持通配符,无法成批转 换,文件少了还好说,要是一大堆文件岂不是要累死?
今天我要推荐的是另一个 Shell 下编码转换工具enca 。用它不仅可以转换编码 , 还可以查看文件的原始编码,而且还支持成批转换 。使用上也比iconv方便一些 。安装enca很简单 , 一般用源安装就行了,enca用法如下:
enca -L 当前语言文件名
enca -L zh_CN file //检查文件的编码

推荐阅读