
问题:使用一台Linux系统的机器,终端总是显示有乱码,不是中文乱码,看起来像是英文乱码,我这强迫症又受不了了
解决方案:
Linux字符编码默认为UTF-8,如果出现英文乱码有可能是系统设置的编码方式为GBK。
设置locale的根本就是设置一组总共12个LC开头的变量,不包括LANG和LC_ALL。
优先 级:LC_ALL >LC_* >LANG
可以看出原系统设置的为中文字体显示和运行的语言环境,所有的设置都是使用的 zh_CN.gbk ,因中英文字符编码方式不同,可能造成英文字符或者空格显示有乱码。
5.退出后再次查看locale(再次登录才生效)
乱码的字符消失了。locale转变为:
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
ip.txt
ip.txt:
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
aaa.txt
>bbb.txt
这个命令读取aaa.txt文件,从utf-8编码转换为gb2312编码,其输出定向到bbb.txt文件。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)