在使用WordPress时,发现他没法上传中文命名的附件,
这主要是因为php使用utf-8编码,而在保存文件时又没有考虑到与操作系统的编码方式兼容造成的。
国内使用的操作系统的编码一般都是GB2312和GBK,两者是兼容的。解决方法如下:
修改//wp-admin/includes/file.php,以3.3.1为例:
找到(此段代码有两处,两处均修改)
1 |
$new_file = $uploads['path'] . "/$filename"; |
修改为:
1 |
$new_file = $uploads['path'] . "/" . iconv("UTF-8","GB2312",$filename); |
找到(一处)
1 |
return apply_filters( 'wp_handle_upload', array( 'file' => $new_file, 'url' => $url, 'type' => $type ), 'upload' ); |
修改为
1 |
return apply_filters( 'wp_handle_upload', array( 'file' => $uploads['path'] . "/$filename", 'url' => $url, 'type' => $type ) , 'upload'); |
其中的 iconv(“UTF-8″,”GB2312”,$filename); 也可以使用“GBK”编码。
有兴趣的可以试试!!
转载请注明:网页阁吧 » WordPress上传中文名图片不能显示的解决办法