Sql2Xml帮你从sql转换到xml恢复WordPress
分类: Python, Wordpress, 下载, 代码 | 标签: Python, Wordpress, 代码, 博客, 数据库 | 日期:2010-03-03 | 261 views
本文献给和我一样开始使用wordpress之前没有对数据库进行utf-8编码的管理的不幸者,后来使用wp-db-backup备份的sql文件来还原,却发现无论如何调整编码,在数据库里看起来在正常不过的文字在wordpress里面就是一堆火星文。这时,除了其他人说的几种变换编码的方法之外,将sql数据库文件转换成导入的文件也许相对来说更容易实现。
Sql2Xml.py能帮助你从自动备份出来的sql数据库导入文件提取出所有的作者、文章、页面和评论信息并输出到Wordpress导入支持的WordPress eXtended RSS (WXR)格式,默认包含了每篇文章/页面的自定义域信息同时导出。
wp_options中自定义域太多,因此除了主要的blog信息,其他信息没有采集。
但要注意:
- 该脚本只适用于有正常识别的sql备份文件,而导入phpmyadmin后前台无法显示的情况。
- 本脚本采用Python 3.1 语法编写,使用Python 2.6运行会发生错误。
- 本脚本的使用方法是sql2xml.py infile.sql outfile.xml
- 为了避免这种麻烦再次发生,在导入使用脚本生成的文件之前,你需要先设置好数据库连接字符集为utf-8,然后重新安装wordpress。
- 本脚本处理后生成的回车换行符是\r\n,您在正式导入博客之前需要将其批量替换为回车。这在ultraedit等文字编辑软件中很容易做,Alt+H开始替换吧。
其中infile.sql是解压后的sql备份文件,outfile.xml是程序生成的WXR文件。使用前,请将脚本和解压好的sql备份文件放在相同文件夹下使用。
Further readings
wordpress的数据库结构
有8人发表了评论 ↓发表评论↓


Hi:
我遇到了这样一个问题,
File “sql2xml.py”, line 274, in
+wp_users[1::tables_num_dict['wp_users_table']][wp_users[0::tables_num_dict['wp_users_table']].index(wp_posts[i+1])] +’]]>’)
TypeError: Can’t convert ‘int’ object to str implicitly
环境: Ubuntu 10.04 python 3.1
因为对python不是很熟,所以折腾了很久也没解决。。
[回复]
lx 回复:
十二月 1st, 2010 at 10:48 下午
@Miuc, 我明天检查一下
[回复]
Miuc 回复:
十二月 2nd, 2010 at 3:53 下午
@lx, 嗯,我折腾好了,原来是强制类型转换没全部加上,用正则表达式修改一下就好了。:)
[回复]
lx 回复:
十二月 2nd, 2010 at 10:37 下午
@Miuc, 看来我不用检查了
Miuc @ 2010年11月28日
cant download this script, please paste or send me direct link. thx :)
[回复]
lx 回复:
七月 9th, 2011 at 7:31 下午
Now you can download it from this page. sorry to make you trouble.
[回复]
Zbigniew @ 2011年07月4日
很需要这个东西,可是不知为何下载不了啊!
[回复]
lx 回复:
七月 9th, 2011 at 7:30 下午
非常抱歉的说,现在已经可以下载了。是downloadManager与Lightbox plus有冲突引起的
[回复]
shuiyao @ 2011年07月8日