2

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

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

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

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

非常感谢一些帮助,谢谢。

4

3 回答 3

2

当“国家特殊字符”时,即。非 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
于 2012-09-23T23:59:49.470 回答
1

为了修复 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”文件上传到您的虚拟主机。

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

于 2013-10-22T06:31:36.193 回答
0

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

更换

@$dom->loadHTML($html);

@$dom->loadHTML('<?xml encoding="UTF-8">' . $html);
于 2019-09-25T07:25:05.110 回答