我在一些页面上的字符编码有一个奇怪的问题,这些页面实际上并不是wordpress的一部分,而是引导它并从WP数据库中获取数据。我得到像“ă”这样的奇怪字符。
Wordpress v3.2,内容是新的,不是从较旧的WP版本迁移的。 数据库编码为UTF8,排序规则为utf8_general_ci。 我的配置文件有define('DB_CHARSET','utf8');并定义('DB_COLLATE','utf8_general_ci'); 我的php文件编码为UTF8而没有BOM。
甚至更奇怪的是它有时在这个页面上显示得很好:http://ro.c4studio.ro/,但是在我重新加载页面之后(可能需要多次重新加载)它会变坏。在这个页面上几乎永远不对:http://ro.c4studio.ro/contact/(有时显示确定)。
它也只发生在Opera(最新版本)上?尝试删除缓存......
我不明白吗?为什么它有时会起作用,有时候不起作用?
有趣,不是吗: - )
答案 0 :(得分:3)
Opera显然对构成网站的某个文件的编码做出了错误的猜测,当内容实际上是UTF-8时,它会猜测(或者配置为使用或重新使用)iso-8859-1。
首先确保将“View> Encoding”设置为自动检测。
要真正了解问题的根源,您需要弄清楚Opera错误猜测的URL。数据究竟是如何传递的 - 直接在标记内或某些外部提要中(如JSONP SCRIPT或RSS提要)? (我实际上并没有在网站上看到任何问题,所以我不能从这里看出来)。然后确保使用正确的HTTP内容类型标题发送此网址,例如对于HTML页面应该
Content-Type: text/html;charset=utf-8
答案 1 :(得分:2)
检查页面源代码,您似乎使用较新的HTML5方式指定字符集:
<meta charset="UTF-8" />
我会尝试使用当前的方法来查看是否能解决问题:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">