今天应怪怪要求在学院服务器上安装一个WordPress,作为军训专题站。由于域名不能自由控制,所以只能在站点下建子目录来挂更多的应用。但是由于不想在根目录下放过多的目录(PHPCMS已经安装在根目录,所以文件繁多),因此选择了在其他目录通过虚拟目录的挂载方式实现子目录。
这样就出现了问题,由于虚拟目录所指向的路径存在中文路径,即:“D:\网站目录\军训专题\”,下载好Wordpress 2.8.4,解压,然后浏览器中访问,进入了著名的5分钟安装界面,填写完数据库信息,进入第二步。
出错的地方到了,就是在第二步插入数据时报错了,页面上会提示类似于以下内容的错误信息(省略了大部分信息,重点突出关键行):
WordPress database error: [Incorrect string value: '\xCD\xF8\xD5\xBE\xB9\xA6...' for column 'option_value' at row 58]
INSERT INTO wp_options (option_name, option_value, autoload) VALUES ('siteurl', 'http://*.edu.cn/jx2009', 'yes'), ('blogname', 'My Blog', 'yes'),
...........................................
('upload_path', 'D:\\��վ����\\��ѵ����/wp-content/uploads', 'yes'),
...........................................
我们可以看到upload_path这一项的值中间含有“�վ”这样的乱码(可能乱码形式不一样,总之是乱码),这个应该是PHP的问题,也总就是那utf-8和gb2312之间的事情了。当务之急不去研究那些编码问题,而是找到简便的解决方法。经过观察,其实WordPress的upload_path字段并不需要储存完整的路径,后台可以将这个路径直接设置为“wp-content/uploads”,那么在安装时候我们也可以直接把上传保存路径设置为这个,不需要读取完整的绝对路径了。
[阅读全文:中文路径安装WordPress出错解决方法]