感谢CCTV,感谢MTV,感谢我的唱片公司
自从上个月我blog挂掉以后,心里一直没着儿没落儿的,但是学校快考试了,公司里又大跃进,实在没精力弄这个事情了。直到最近几天才算有了点空闲时间,借用了大辉的在dreamhost上的空间,然后开始搬家。幸运的是我在6月26号备份了一把数据,不过在导入数据的时候遇到了编码的问题。
blogez在mysql里一直使用的是latin1 (cp1252 West European),翻译过来是西欧 (多语言), 二进制。dreamhost的mysql字符集是UTF-8 Unicode,导入后在phpmyadmin里中文能够正常显示,但页面上的中文都变成了类似“?”的乱码,困扰很多人的mysql编码问题在我这里也出现了。几年前弄discuz和phpwind的时候也曾经遇到过编码的问题,不过在mysql4.x的版本里这个问题不严重,能够正常使用。而且那时候是自己弄台服务器有mysql的root权限,可以随便整,现在借用别人的空间不能随便整。左冲又突的试了半天,没解决问题,找了身边的几个高人,大多也没有太多时间手把手的帮我解决问题。不过通过几位高手的点拨,就mysql的编码我觉得比以前明白点了。
无论在数据库中以何种编码存放都没有问题,只要保证写入和读出都采用同种编码格式就ok。昨天晚上静下心来仔细研究了一下,发现导出的sql文件是utf8格式,但是blogez存取数据貌似是latin1,模版页面默认是gb2312,如果以utf8存储以latin1读取自然会出现乱码。搞明白了这个问题以后就简单了,两个办法:1,导入数据的时候按照latin1编码;2修改blogez为utf8存取。在时间短任务急的情况下我选择了1,不过2是早晚都要做的。
这次折腾还发现了一个bug,blogez后台备份数据的时候漏掉了bobstats这个表,还好这个表没什么重要的作用。由此可见blogez是真够可以的,不过我还是坚持用这个东西,享受享受过程吧。
这次blog停掉的时间比较长,半个月了。很感谢期间帮助我和关心我的朋友,感谢CCTV,感谢MTV,感谢我的唱片公司。
怎么搞定的?
uTF-8 还是必须的
blogez 这么烂的程序你还能坚持用,不容易
latin1编码导入就可以了,以后再全都整成utf8了