wonderyl在使用wordpress 2.9.2时,发现他没法上传中文命名的附件,
这主要是因为php使用utf-8编码,而在保存文件时又没有考虑到与操作系统的编码方式兼容造成的。
国内使用的操作系统的编码一般都是GB2312和GBK,两者是兼容的。
wordpress中处理上传附件的原始代码是:
这里需要将文件名转换为GBK编码:
这个$new_file变量在后面还会被存储于数据库的wp_postmeta表中:
而存入数据库的编码应该是utf-8的,因此不能直接使用$new_file变量:
这样就解决了Wordpress中文名附件的上传问题
参考:http://hjin.me/code/640/