使用中文包后的一些显示乱码问题

ChriSir发现,使用WordPress中文包后,当有人发表评论时,如果出现错误,比如未填写email地址等,WordPress自动弹出的错误信息页面显示的是乱码。[via]

这个问题,不用说,又是页面的HTTP头没有表明页面是UTF-8编码格式的,导致用户的浏览器以GB2312方式解码,产生乱码。以前WordPress备份插件就出过这样的问题,参见我的这篇《WordPress中文包导致数据库备份插件出错》。WordPress是英语世界开发的,没有考虑到其他语言。所以,我们还是要自行解决这个问题。

ChriSir提到,乱码页面的地址是http://www.chrisir.com/wp-comments-post.php,查了一下,这个是WordPress发布评论的页面,文件的开头确实没有用header命令标识该页面为UTF-8编码。而这个页面只是发布评论,在发布完评论后就自动跳回,而只有在出错的情况下才会显示错误信息。这儿的乱码都能被ChriSir发现,他也真是细心呀。

修改一下,在wp-comments-post.php文件的开头require命令之后加上一句:

header('Content-type: ' . get_option('html_type') . '; charset=' . get_option('blog_charset'));

呃,或许,我们可以把这条header语句加到wp-config.php里,反正所有的页面都要调用这个文件的嘛。只有把这条header语句加到wp-config.php文件里,那么所有的页面都会被加上标识为UTF-8的HTTP头,这样乱码问题就应该不会再出现了,这个困扰N多人的问题也许就被彻底解决了,hoho

Update:ChriSir说,直接把上面的代码加入wp-config.php文件后没起作用。[via]这一点我没说清楚,wp-config.php是整个程序最先执行的文件,在这个文件里的代码当然不能使用类似get_option()之类的函数,这些函数在这个时候还没有定义呢。所以,需要把生成的header直接写入这里,比如你的网站是UTF-8编码的,就写header('Content-Type: text/html; charset=UTF-8');就可以了。不过,不知道定义把页面定义为html格式,会不会对一些JavaScript页面有影响耶。

本文共有 21 条评论使用中文包后的一些显示乱码问题


  1. 1 jsmjm

    Thanks!I revised it.

  2. 2 ES2004

    你的评论有时候也出问题

  3. 3 ES2004

    哦,误报,刚才研究了一下,确定404的原因是Google Web Accelerator。。。
    不是这里的问题。。。

  4. 4 YET

    我想问问为什么我的WordPress上用不了像YUTUBE这样的视频代码,然后我把它们放在一个HTML页面以后然后用来调用这个页面,可以是可以,但是/iframe后面的代码都显示不出来,搞得那片文章的后面留不了言,这个是为什么??

    我看到别人的WP又可以贴这些视频,而我的就是不可以,我用的是2.05,难道是虚拟服务器的问题?还是WP代码中哪里出问题了??

  5. 5 yskin

    embed标签会被TinyMCE过滤掉。

    修改TinyMCE,又或者,别用可视化编辑器了。

  6. 6 chrisir

    Yskin,竟然把你搞到无语,HaHa...

    blog的信息互通和blogger之间的互助让人鼓舞!不过,最近不再trackback骚扰你了^-^

    不论怎样,感谢你提供的帮助!

  7. 7 点点游

    一个更好的解决方法是讲 die 函数修改为 WordPress 自带的 wp_die。

    详见这个主题:
    http://www.gtp2p.com/bbpress/topic.php?id=3&replies=6

  8. 8 yskin

    嗯,好主意

  9. 9 YET

    谢谢

  10. 10 YET

    再想问问,怎样使到像你BLOG页头的页面链接是类似“http://yskin.net/about/”这样的形式的,在哪里设置?
    还有你的每篇文章的页面地址都是用文章题目命名的,这样很好啊!怎样实现的?

    谢谢!

  11. 11 yskin

    选项->永久链接。选个好一点的永久链接格式吧。另外页面地址可以用文章的缩略名,设置好永久链接格式之后,记得每次写文章时填写文章缩略名。

  12. 12 快客SEO软件
  13. 13 快客SEO软件
  14. 14 快客SEO软件
  15. 15 快客SEO软件
  16. 16 快客SEO软件
  1. 1 ourr » links for 2006-11-03
    Pingback2006-11-4 7:40 上午
  2. 2 ourr » links for 2006-11-04
    Pingback2006-11-5 7:28 上午
  3. 3 ChriSir’ Wisdom » Blog Archive » Wordpress编码问题原因已解决,顺便介绍blog客户端软件Zoundry
    Pingback2006-11-6 10:10 上午
  4. 4 links for 2006-11-04 -- 时光漫步
    Pingback2006-11-6 11:19 上午
  5. 5 One Studio. » 博客存檔 » 使用中文包后的一些显示乱码问题!
    Pingback2006-12-30 3:50 下午

请留下您的评论: