WordPress更换域名

更换了域名之后,js、css全都无法读取,页面乱成浆糊,所有固定链接失效。。。管理后台的登录页面虽然可以用新域名的URL打开,但表单会提交到旧的URL上,所以没法登录,也就没法在选项页面修改“安装地址”和“博客地址”了,这可是令人痛苦的事情。

打开wp-config.php和wp-settings.php查看,也没有发现关于域名设置的相关代码,看来只能去mysql里面寻找蛛丝马迹了。。。

wordpress的表格不多,命名也规范,各自的功用都很清楚,直奔wp_prefix_options表,与域名相关的只有两条记录,更新之:

UPDATE wp_prefix_options SET option_value = 'http://newdomain/wp_path'
WHERE option_name = 'siteurl';
UPDATE wp_prefix_options SET option_value = 'http://newdomain'
WHERE option_name = 'home';

很明显,这两条记录就对应着“安装地址”和“博客地址”两个配置项了。

刷新首页,页面显示恢复正常,重新尝试登录管理后台,成功!^^

又见mysql中文乱码

域名、空间、wordpress安装、中文化(cpanel一键安装的是英文版)、插件、皮肤、Analytics跟踪、管理员工具验证、正文及评论测试。。。虽然都是非常傻瓜式的操作就能轻松搞定,但一整套搞下来也不免要舒一口气。。。

空间的mysql只能用phpMyAdmin管理,好在其功能是足够强大和合理,虽然对mysql不熟,也很快摸清了wordpress的各表结构和主要用途,正在暗爽一通百通之际,发现表中文章内容乱码!

确认了wordpress表中存的是明文后,怀疑是browser的编码不正确,查看了mysql的字符集是utf8后,先后将browser的语言设置成uft8,gbk,gb2312,etc.都不好使,很是郁闷。。。

想起当初c程序从《问鼎》游戏库中抓取统计数据的时候,中文角色名就是乱码,也跟游戏开发方反复确认了数据库字符集是utf8,而我的linux主机也是utf8无疑,隔行如隔山,几经周折查到需要在查询时执行’set names charset’,同样是尝试了uft8,gbk,gb2312,etc.都不好使,最后打算用最原始但最有效的方法,把mysql默认支持的字符集挨个试一遍,结果是latin1(庆幸的是前几个),遂在心里念叨:latin1,我记住你了!

难道。。。历史重演了?!’set names latin1’,是的,就这么搞定了~~