centos中显示utf-8编码格式的shell脚本有中文乱码解决方法
老眼 2018-11-14 11:43:10
分 享

问题现象


自己编写的shell脚本,保存的编码格式为utf-8,但是上传到centos中,显示为中为乱码


使用file shell.sh 查看文件的编码格式


shell.sh: UTF-8 Unicode text


解决方法


使用iconv 把文件编码格式转换成为gb2312


iconv -f utf-8 -t gb2312 shell.sh > shell2.sh


再次file shell2.sh查看文件编码


linuxsec2.sh: ISO-8859 text


中文乱码问题得以解决


附录iconv的用法


利用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 1111.txt >2222.txt  


这个命令读取1111.txt文件,从utf-8编码转换为gb2312编码,2222.txt文件

吐槽一下

游客

所有吐槽
  • 暂时还没有吐槽,赶紧来吐槽!