【问题标题】:Character issue in WordPress siteWordPress网站中的字符问题
【发布时间】:2012-09-15 08:33:54
【问题描述】:

我的 WordPress 网站有问题(它是瑞典语)。出于某种原因,我在写帖子时不能使用所有字符 - 字符 å、ä 和 ö 变成了 Ã¥ ä ö。该网站是一个网上商店,我安装了 Woocommerce 插件。 åäö 的同样问题也出现在 Woocommerce 的长产品描述中。

有人知道我可以做些什么来解决这个问题吗? WordPress 管理面板中的字符编码设置为 UTF-8,wp-config 中的数据库字符集也是如此。

在 phpmyadmin 的数据库中,wp-posts 表的排序规则设置为“utf8_general_ci”。是这个问题吗?

这件事以前从未发生在我身上,尽管我过去建立了很多 WP 网站。因此我不知道该怎么办。也许解决方案很简单,但我想在做任何事情之前知道我在做什么,这样我就不会冒险搞砸网站。

非常感谢您的帮助,谢谢。

【问题讨论】:

    标签: database wordpress character woocommerce


    【解决方案1】:

    当“国家特殊字符”时,即。非 ASCII 字符,显示错误,您可能有与 charset 相关的错误。解决此问题的最简单方法通常是确保您在所有地方都使用 UTF-8。

    (特别是对于瑞典语,您可以使用 ISO-8859-1(最差)、ISO-8859-15(更好)或 UTF-8(最好)。)

    您需要在任何地方使用相同的字符集,从数据库到 HTML 声明。

    1. 在主题的 header.php 文件中,请确保声明的字符集是 UTF-8。
    2. 在您的文本编辑器或服务器上,请确保您的主题文件保存为 UTF-8。
    3. 在 MySQL 中,请确保表架构设置为使用 utf-8。
    4. 在 MySQL 中,请确保连接默认使用 UTf-8:mysql --default-character-set=utf8
    5. 在 PHP 中,尝试使用 mysqli_set_charset 将连接设置为 utf-8

    【讨论】:

    • 谢谢你的回答,我会试试的。
    • 第 2 点终于在 HOURS 后救了我的命!为什么我们都不能说英语,这样会容易得多:) 谢谢。
    【解决方案2】:

    为了修复 WordPress 中的字符编码不匹配问题, 在文本编辑器中打开“wp-config.php”文件(wp-config.php 文件可以在您安装 WordPress 的目录中找到)。 找到以下两行并将它们注释掉:

    define(‘DB_CHARSET’, ‘utf8′);
    define(‘DB_COLLATE’, ”);
    

    注释掉它们后,它们应该如下所示:

    //define(‘DB_CHARSET’, ‘utf8′);
    //define(‘DB_COLLATE’, ”);
    

    现在将更新后的“wp-config.php”文件上传到您的网络主机。

    这个字符编码问题也可能在数据库升级后发生,所以为了以防万一,记住这个技巧并没有什么坏处。

    【讨论】:

    • 不建议注释掉DB_CHARSET变量。 COLLATE 可以被注释掉。
    【解决方案3】:

    在另一种情况下,如果您在某处使用 PHP Dom (loadHTML),则需要将 HTML 加载为 UTF-8。我已通过以下方式修复

    更换

    @$dom->loadHTML($html);
    

    @$dom->loadHTML('<?xml encoding="UTF-8">' . $html);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-25
      • 1970-01-01
      相关资源
      最近更新 更多