2005-07-06

转换Blog编码

因为我的Blog里有汉语和德语,所以原来的gb2312编码显然不合适。另外,以前就发现使用RSS同步出现的都是乱码,所以下定决心要把编码的问题解决。


今天下午费了三个小时的时间终于把Blog的编码从gb2312转换到utf-8。问题主要出现在数据库里的文件的编码转换。在导出数据库文件后原本想使用Unix下的iconv命令

iconv -f GBK -t UTF-8 gbk.sql >utf-8.sql

将sql文件转换编码,可是iconv程序总是执行时因为不能识别某个字符而中断。后来突然想起常用的notepad程序在另存为菜单中可以选择编码utf-8,于是用记事本打开那个sql文件,另存时选择utf-8编码。可是在导入时有出现了个错误,说超过了max_allowed_packet 值的大小。打开文件一看是跟nucleus_item这个表有关的部分引起的。于是在sql文件里把整个和nucleus_item表有关的语句全部删除后再导入就没有问题了。
然后再单独导出nucleus_item表,再按上述方法转换并导入。尽管这样还是有一篇关于电脑维修指南的文章无法导入,只好将其删除,待到以后重新在Blog的管理界面里灌入。

编码转换虽然不复杂,可是涉及不少编码的知识。在转换过程中读到的几遍文章对于认识计算机编码还是和有帮助的。

参看:Nucleus CMS Blog 转化 UTF-8 方法简介

没有评论:

发表评论