要linux支持中文是一件很麻烦的事,一不小心就会得到一堆乱码。
而要解决这个问题的关键是:
所有涉及的环节都要使用相同的中文字符集。
我用的数据库是SQLite,它的默认中文字符集是UTF-8,
所以我就以UTF-8做为所有环节的中文字符集。
1. SecureCRT
我用的是SecureCRT做客户端+VIM编辑器,
所以先将SecureCRT的字符集设置成UTF-8.
如下图所示:
2. 查看被解析文件的字符集
可以使用 "file"命令。
- # file test.txt
- test.txt: ISO-8859 C++ program text, with CRLF line terminators
从而知道这个文件的字符集是"
ISO-8859"。
3. 将被解析文件转换成"UTF-8"字符集
如果被解析文件不是"UTF-8"字符集的,如上面所示,则需要将其先转换成UTF-8字符集。
可以用命令,也可以在脚本中实现。
- #cat test.txt|iconv -f ISO-8859 -t utf-8 > test_UTF8.txt
4. 设置VIM的字符集并创建和实现程序
打开VIM的配置文件:
- set encoding=utf-8
- set fenc=cp936
- set fileencodings=utf-8
- set fileencodings=utf-8,cp936,ucs-bom
保存关闭后,
再创建程序文件时,就是"UTF-8"字符集了。
5. 解析并录入数据库
至此,所有环节都是使得“UTF-8”字符集了,
运行程序得到的将会是正常显示的中文了
阅读(1649) | 评论(0) | 转发(0) |