我的WordPress网站有问题(用瑞典语)。出于某种原因,我在写帖子时不能使用所有字符 - 字符å,ä和ö成为åö¶。该网站是一个网上商店,我安装了Woocommerce插件。 åäö的同样问题出现在Woocommerce的长产品描述中。
任何人都知道我能做些什么来解决这个问题? WordPress管理面板中的字符编码设置为UTF-8,wp-config中的数据库字符集也是如此。
在phpmyadmin的数据库中,wp-posts表的排序规则设置为“utf8_general_ci”。这是问题吗?
以前从未发生过这件事,尽管过去我已经建立了很多WP网站。所以我不知道该怎么办。也许解决方案很简单,但我想在做任何事之前知道我在做什么,所以我不会冒这个网站搞乱的风险。
非常感谢你对此有所帮助,谢谢。
答案 0 :(得分:1)
当“国家特殊人物”,即。非ASCII字符显示错误,您可能有与charset相关的错误。解决此问题的最简单方法通常是确保您在任何地方使用UTF-8。
(特别是瑞典语,你可以使用ISO-8859-1(最差),ISO-8859-15(更好)或UTF-8(最好)。)
从数据库到HTML声明,你需要在任何地方使用相同的字符集。
mysql --default-character-set=utf8
答案 1 :(得分:1)
为了解决WordPress中的字符编码不匹配问题, 在文本编辑器中打开'wp-config.php'文件(可以在安装WordPress的目录中找到wp-config.php文件)。 找到以下两行并将其注释掉:
define(‘DB_CHARSET’, ‘utf8′);
define(‘DB_COLLATE’, ”);
在您发表评论后,它们应如下所示:
//define(‘DB_CHARSET’, ‘utf8′);
//define(‘DB_COLLATE’, ”);
现在将更新后的'wp-config.php'文件上传到您的虚拟主机。
这个字符编码问题可能会在数据库升级之后发生,因此为了以防万一,请记住这个技巧。
答案 2 :(得分:0)
在另一种情况下,如果您在某处使用PHP Dom(loadHTML),则需要将HTML加载为UTF-8。我已经通过以下方式修复了:
替换
@$dom->loadHTML($html);
到
@$dom->loadHTML('<?xml encoding="UTF-8">' . $html);