[转载]WordPress 2.0.2 上传图片标题乱码解决
2006-05-29 10:07 | Filed Under WordPress |
上传文件描述乱码是 WordPress 的一个“固有”的 Bug 了。自从 1.5 版就有,当时我还专门写文章说明了解决办法。WordPress 升级到了 2.0.2,这个 Bug 却依然存在,虽然修改方式略有变化,但原理都是相同的,就是没有正确处理 PHP 函数 htmlentities() 的编码问题。
问题现象:撰写文章时,用书写界面下方的上传文件对话框可以上传附件。当在标题处键入非拉丁字符(多字节字符)时,上传成功后附件的描述为乱码。
解决方案:
1. 打开 /wp-includes/functions.php,找到函数 function htmlentities2($myHTML),将此函数按如下替换:
- <?php
- function htmlentities2($myHTML) {
- return preg_replace("/&([A-Za-z]{0,4}\w{2,3};|#[0-9]{2,3};)/","&$1",htmlentities($myHTML,ENT_QUOTES,get_settings('blog_charset')));
- }
- ?>
2. 打开 /wp-admin/inline-uploading.php,搜索 htmlentities(,应该有两处,分别位于 237 行和 257 行,按如下更改:
- <?php
- // 237 行,原始代码为:
- $title = htmlentities($image['post_title'], ENT_QUOTES);
- // 修改为
- $title = htmlentities($image['post_title'], ENT_QUOTES,get_settings('blog_charset'));
- // 257 行,原始代码为:
- $title = htmlentities($attachment['post_title'], ENT_QUOTES);
- // 修改为
- $title = htmlentities($attachment['post_title'], ENT_QUOTES,get_settings('blog_charset'));
- ?>
以上代码测试通过 (WordPress 2.0.2) ,并已经应用于本站。
标签:WordPress, 乱码, 图片相关日志 随机文章
Comments
Leave a Reply


