【问题标题】:Wordpress character encoding Issue when editing posts编辑帖子时的Wordpress字符编码问题
【发布时间】:2016-04-02 07:16:25
【问题描述】:

当我使用“文本”模式在 Wordpress 中编辑帖子并使用 & 和欧元输入特殊字符时;例如对于欧元标志,一切正常。我发布了帖子,并且角色在我的网站上显示正常。

但是,如果我尝试返回并编辑页面,则在文本模式下,所有特殊字符都会按原样显示并且编码消失(因此 & euro; 显示为 €)。

这是奇怪的事情。如果我编辑帖子,进入文本编辑模式而不是视觉编辑并输入字符代码,然后切换到视觉模式而不保存或发布,然后切换回文本编辑模式选项卡,我所有的字符代码都消失了文本编辑模式立即。所以 & 欧元;立即在文本编辑模式下变为 €。这在 Chrome 和 Safari 浏览器中都会发生。

在我的服务器上,我有几个带有各种 WP 版本的 Wordpress 站点,WP 版本 4.4 和旧版本都会出现这种情况。我的 PHP 版本是 5.5.30。

我检查了以下内容但没有成功:

  • 更改了 WP-config 文件的 UTF-8 设置和 DB 整理行。删除了它们,专门定义了 UTF-8 等等。没有用。
  • 在 phpMyAdmin 中检查了 MySql。服务器连接排序规则是 UTF8_general_ci。也试过 utf8mb4_general_ci。
  • 有些WP网站是UTF8_general,有些是UTF8mb4,都有同样的问题。
  • 我的页面使用以下标题:

    meta http-equiv="Content-Type" content="text/html; charset=UTF-8"

我还能检查什么? 这可能是与 Mac 相关的浏览器问题,因为它在从文本模式切换到可视模式时立即发生而不保存或更新?

【问题讨论】:

  • 如果您查看源代码,是否将 € 显示为 &euro ?
  • 你的意思是HTML源代码?最初保存并正确提供时,我会看到 HTML 源代码中的实际字符,而不是 &euro 或 &iuml。

标签: php mysql wordpress


【解决方案1】:

我终于找到了解决问题的方法。这个帖子替我回答了:UTF-8 Character set CentOS PHP

基本上,我的 PHP.ini 设置是错误的。

在 php.ini 中设置以下内容帮助了我:

default_charset = "utf-8"
mbstring.internal_encoding=utf-8
mbstring.http_output=UTF-8
mbstring.encoding_translation=On
mbstring.func_overload=6

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 2020-05-06
    相关资源
    最近更新 更多