Wordpress使用UTF-8,我网站的其他部分使用ISO-8859-1字符编码


Wordpress uses UTF-8, and the rest of my site uses ISO-8859-1 - character encoding

我们客户的网站使用:ISO-8859-1-在其主要网站上UTF-8在其Wordpress博客的"/blog/"目录中,使用使用UTF-8编码的模板。

这很好,但在我们的主网站上,我们还使用Wordpress API函数,如get_the_except(),从博客中获取最新消息,并将其显示在我们的主页上。问题是,一些MS Word字符似乎是特殊的字符,在博客上显示得很好,但在我们的主页上显示得像这样:

关键品牌测试

我尝试将元字符编码更改为UTF-8,但无济于事。相反,这个PHP代码是有效的:

htmlentities($except_text,1,"UTF-8",0)

尽管我用UTF-8编码,但它在我的ISO-8859-1模板上运行良好。我在字符编码方面没有太多经验,我会继续进行上述修复,但我只想知道是否有人能解释为什么上述方法有效,以及为什么更改我的字符编码不起作用?字符本身是有效的(例如Word中的-连字符和Word中生成的"引号")。

[更新]事实上,它不太好用。以上内容也继续进行,并将我的"阅读更多"链接转换为可读的<a href>标记-即HTML实际上已经转换:(有什么想法可以解决吗?

谢谢,里希

htmlentities将非ASCII字符转换为HTML实体-&rsquo;等,然后无论客户端期望的是latin1还是utf8,都将对其进行正确解释。

mb_convert_encoding($excerpt_text, "ISO-8859-1", "UTF-8")可能是您进行转换所需要的。如果WP博客包含非拉丁语1字符,那么您当然是SOL。