使用libxml2库设置encoding的问题
来源:互联网 发布:摄像机采集软件 编辑:程序博客网 时间:2024/06/16 15:56
因为用 xmlDocPtr doc = xmlNewDoc(BAD_CAST "1.0"); 语句默认生成的 XML 结构未指定编码。
如下:
<?xml version="1.0"?>
于是使用 xmlNewDocProp 方法,发现无任何作用,猜测可能是libxml2的bug:
xmlNewDocProp(doc, BAD_CAST "encoding", BAD_CAST "gb2312");
使用方法 doc->encoding = BAD_CAST "gb2312"; 程序运行至该行时直接崩溃。
求助度娘和谷哥,无果。
无意中看到一篇文章,介绍 xmlDocFree()错误时,可以指定 doc->encoding = strdup("GBK");
于是尝试该方法,修改代码如下:
doc->encoding = BAD_CAST strdup("gb2312");
测试OK,生成XML为:
<?xml version="1.0" encoding="gb2312"?>
总结,这里必须用 strdup 复制一个字符串出来,如果直接用常量字符串则会引起崩溃,猜测可能是libxml2库的内存管理问题。
- 使用libxml2库设置encoding的问题
- libxml2库的安装,xpath的使用
- Libxml2库的编译和使用
- Libxml2库的编译和使用
- Libxml2库的编译和使用
- Libxml2库的编译和使用
- libxml2库的使用例子很简单
- Libxml2库的编译和使用
- libxml2的使用总结
- linux libxml2的使用
- libxml2的使用
- libxml2的使用
- 如何使用libxml2库?
- libxml2 库的实现
- xml的创建使用libxml2
- libxml2的安装和使用
- libxml2的安装及使用
- libxml2的安装及使用
- 如何查看Shell函数定义
- 数字与undef进行比较
- 第一篇BLOG给全新的自己
- UVA-152- Tree's a Crowd
- iOS里的MVC
- 使用libxml2库设置encoding的问题
- Linux服务器无法解析域名
- uva-299 - Train Swapping
- WP-PageNavi分页插件的使用
- WordPress主题未汉化一例
- 设置WordPress博客头像
- Struts2注解错误之There is no Action mapped for namespace [/]……
- ibatis源码浅析- 初始化
- Perl函数的声明与调用