Linux世界: January 2009的归档

如何使用libxml2库?

| 暂无评论
    libxml2库是干什么的?很多人就开始说,是搞xml的、解析xml格式的、读取xml文件的......
其实说的都不错,但是对libxml2库的理解狭隘了一点。

     libxml2现在不仅仅可以解析XML(EXtensible Markup Language)格式,包括HTML(HyperText Markup Language)以及现时常用的超文本格式的最高层次标准 SGML(Standard Generalized Markup Language) 都可以解析。
很多时候问题当时解决了,但是后来碰到又忘记怎么解决的了,记性老不好,还是记下笔记和大家一起分享吧。

vim里面设置好.vimrc的字符读取配置后,形式如下:
set fileencodings=ucs-bom,utf-8,gbk,big5,latin1
set encoding=utf-8
set termencoding=utf-8
set fileencoding=utf-8
终端的编码也是UTF-8,这样,打开latin1、gbk、big5的文件的时候,vim会自动识别(需要vim7.0以上版本)其编码格式,这样看到字符不是乱码,但是我将vim自动识别的编码copy到其他文件,注意,这里的编码就在vim的操作yy的过程中,出现了二次编码的情况,其他文件一旦保存,那么其内存就会变成乱码格式,这就是二次编码乱码问题的由来。

经过hexdump乱码文件发现现在的一个汉字都成了三个字节,而且在vim打开提示无转换状态,说明这个文件目前的文字编码是UTF-8编码;而原来的文字编码可能是两个字节两个,最好的方式,转换为latin1编码重新垒码。