Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7919483
  • 博文数量: 701
  • 博客积分: 2150
  • 博客等级: 上尉
  • 技术积分: 13233
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-29 16:28
个人简介

天行健,君子以自强不息!

文章分类

全部博文(701)

文章存档

2019年(2)

2018年(12)

2017年(76)

2016年(120)

2015年(178)

2014年(129)

2013年(123)

2012年(61)

分类: LINUX

2012-10-20 11:33:54

要linux支持中文是一件很麻烦的事,一不小心就会得到一堆乱码。
而要解决这个问题的关键是:
所有涉及的环节都要使用相同的中文字符集。

我用的数据库是SQLite,它的默认中文字符集是UTF-8,
所以我就以UTF-8做为所有环节的中文字符集。

1. SecureCRT
我用的是SecureCRT做客户端+VIM编辑器,
所以先将SecureCRT的字符集设置成UTF-8.
如下图所示:

2. 查看被解析文件的字符集
可以使用 "file"命令。

点击(此处)折叠或打开

  1. # file test.txt
  2. test.txt: ISO-8859 C++ program text, with CRLF line terminators
从而知道这个文件的字符集是"ISO-8859"。

3. 将被解析文件转换成"UTF-8"字符集
如果被解析文件不是"UTF-8"字符集的,如上面所示,则需要将其先转换成UTF-8字符集。
可以用命令,也可以在脚本中实现。

点击(此处)折叠或打开

  1. #cat test.txt|iconv -f ISO-8859 -t utf-8 > test_UTF8.txt
4. 设置VIM的字符集并创建和实现程序
打开VIM的配置文件:

点击(此处)折叠或打开

  1. #vim /etc/vimrc
将VIM的字符集配置成UTF-8, 如下所示:

点击(此处)折叠或打开

  1. set encoding=utf-8
  2. set fenc=cp936
  3. set fileencodings=utf-8
  4. set fileencodings=utf-8,cp936,ucs-bom
保存关闭后,
再创建程序文件时,就是"UTF-8"字符集了。

5. 解析并录入数据库
至此,所有环节都是使得“UTF-8”字符集了,
运行程序得到的将会是正常显示的中文了

阅读(1649) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~