专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »Linux » linux转换编码:Linux系统中有关文件编码以及编码的转换 »正文

linux转换编码:Linux系统中有关文件编码以及编码的转换

来源: 发布时间:星期三, 2008年12月17日 浏览:54次 评论:0
Windows中默认文件格式是GBK(gb2312)当然也可以保存为UTF-8最简单思路方法是用记事本“另存为”就可以做到 


为了和windows兼容SecureCRT中文件编码默认配置是”Default”其实也就是GBK如果我们将其更改为了”UTF-8″那么我们查看从windows中scp过去GBK文件就会变成乱码需要进行转换比较麻烦 


不过有时候我们也需要进行编码转换比如这次我这次在建立cacti模板时候使用了中文apache默认是UTF-8编码所以记录到mysql数据库中就是UTF-8编码了(奇怪在mysql中使用” names utf-8″看不到正确中文需要使用”hex来看 2进制数量看是不是utf-8…..)而当我使用批量添加主机脚本来添加新服务器信息到数据库后发现在网页中出现了乱码原因是在cli中使用脚本中文是使用GBK格式保存到数据库中于是变成了很郁闷情况无论将浏览器编码设置为”UTF-8″还是”GB2312″总会有部分中文是乱码 


解决思路方法不是将原来模板中文都转换成gb2312就是要将以后添加主机信息里面中文转换成UTF-8我比较喜欢UTF-8所以我决定用后种思路方法 


linux里面转换编码思路方法很多google了人都是用”iconv”命令来进行转换但是由于我需要在脚本里面判断文件编码”iconv”就不太适用其实Linux里面还有另个能进行编码转换并比”iconv”功能强大”enca” 


debian中安装: 


aptitude  enca 


使用思路方法: 


enca -L zh_CN file 检查文件编码 

enca -L zh_CN -x UTF-8 file 将文件编码转换为"UTF-8"编码 

enca -L zh_CN -x UTF-8 < file1 > file2 如果不想覆盖原文件可以这样 


除了有检查文件编码功能以外”enca”还有个好处就是如果文件本来就是你要转换那种编码它不会报错还是会pr出结果来而”iconv”则会报错这对于脚本编写是比较方便事情 
0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: