【问题标题】:Unwanted special characters in WordPress site after export/import导出/导入后 WordPress 站点中不需要的特殊字符
【发布时间】:2015-12-30 21:14:03
【问题描述】:

我复制了一个 WordPress 站点(最初位于 http://infinitelypossible.net)并将站点 URL 更改为 http://blissyourmoney.com

现在数据库中出现了不需要的特殊字符,尤其是在 _posts 表中。引号之类的字符已经转换成其他奇数符号,还有一些字符是刚刚添加的,看起来是随机的。

我在 WordPress.org 上仔细检查了 PHPMyAdmin 的导出/导入设置,并使用正确的设置再次尝试导出/导入,但无济于事。 (唯一需要更改的设置是取消选中“数据”标题下的“扩展插入”。)

【问题讨论】:

  • 检查数据库和表的字符集:它们需要与旧的相同
  • 检查以确保新站点上wp-config.php 中定义的DB_CHARSETDB_COLLATE 与旧站点匹配。
  • @mbacon40 — 我检查了这些,发现旧的 wp-config.php 根本不包含这些行。我在新的 wp-config 中将它们注释掉,它删除了不需要的字符。显然,这并不理想,对吧?有没有更彻底的流程可以让我彻底解决这个问题?
  • @Melodist 请参阅我对以下问题的回答。将它们注释掉是我为解决问题所做的。特别是如果它有效!但是我添加了理由。

标签: mysql wordpress


【解决方案1】:

正如我在上面的评论中所说:确保新站点上wp-config.php 中的DB_CHARSETDB_COLLATE 与旧站点匹配。

您回复说 DB_CHARSETDB_COLLATE 仅存在于您的新 WordPress 安装中,并且从新的 wp-config.php 中删除它们解决了这个问题。问题是您通过 DB_CHARSETDB_COLLATE 指示 WordPress 使用与数据库设置不同的字符集。

WordPress Codex 指出,https://codex.wordpress.org/Editing_wp-config.php

如果您的 wp-config.php 文件中不存在 DB_CHARSET 和 DB_COLLATE,除非您阅读并理解转换数据库字符集,否则请勿将任何定义添加到您的 wp-config.php 文件中。对于现有博客,将 DB_CHARSET 和 DB_COLLATE 添加到 wp-config.php 文件可能会导致重大问题。

因此删除定义来解决问题是正确的做法,应该可以解决问题,因为您只需将它们重置为默认值。

【讨论】:

  • 我接受了你的回答,@mbacon40。让我知道这里是否还有其他事情要做。
猜你喜欢
  • 2012-06-26
  • 1970-01-01
  • 1970-01-01
  • 2019-09-06
  • 2018-05-19
  • 2017-06-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多