linux如果没有配置好编码格式会很郁闷,一般都是utf-8,但是对于win下常用的gb2312和gb18030之类的编码是乱得不得了。
现在记录一下解决方法:
org->gnome->gedit->preference->encodings
在上面添加“GB18030”即可
另外,gedit下这些编码虽然支持,但是用vi或者javac这些还是有问题,只能转换,在win下notepad++可以很方便转成utf-8,但是linux需要用iconv这个命令:
iconv [选项...] [文件...]
有如下选项可用:
输入/输出格式规范:
-f, --from-code=名称 原始文本编码
-t, --to-code=名称 输出编码
信息:
-l, --list 列举所有已知的字符集
输出控制:
-c 从输出中忽略无效的字符
-o, --output=FILE 输出文件
-s, --silent 关闭警告
--verbose 打印进度信息
这样假设我们需要转换的格式是gb2312,计划转成utf-8,只需如下命令
iconv -f gb2312 -t utf-8 text.txt>text2.txt
添加经验一条:
如果前后文件名一样,内容会被清空,看起来是两个文件直接处理才会导致这样。