Wordpress 谷歌网站管理员未遵循排序规则URL

Wordpress 谷歌网站管理员未遵循排序规则URL,wordpress,url,utf-8,collation,Wordpress,Url,Utf 8,Collation,我在谷歌站长网站上看到了很多未被关注的页面。我检查它们是因为很多url都是 何时必须输入正确的url 我试着发布一个有很多“x”的标题,唯一一个奇怪的是%C3%97,比如我发布了一个新的系列插曲,像这样的标题:Burn Notice 7x02 Sub Español Online。当x介于数字%C3%97之间时,我的帖子就会重复 因此,我试图修复将数据库排序规则从latin1_swedish_ci更改为utf8_general_ci的问题,但仍然是一样的情况。我也检查了我的wp-config.p

我在谷歌站长网站上看到了很多未被关注的页面。我检查它们是因为很多url都是 何时必须输入正确的url

我试着发布一个有很多“x”的标题,唯一一个奇怪的是%C3%97,比如我发布了一个新的系列插曲,像这样的标题:Burn Notice 7x02 Sub Español Online。当x介于数字%C3%97之间时,我的帖子就会重复

因此,我试图修复将数据库排序规则从latin1_swedish_ci更改为utf8_general_ci的问题,但仍然是一样的情况。我也检查了我的wp-config.php,它是define('DB_CHARSET','utf8')

拜托,有人知道解决这一切的好办法吗?数据库是相当大的,如果我找到一个解决方案,我需要更新旧的网址


提前感谢您

您说谷歌正在使用的URL:

http://www.mysite.net/2013/06/burn-notice-7%C3%9702-sub-espanol-online.html 
与URL几乎相同:

http://www.mysite.net/2013/06/burn-notice-7x02-sub-espanol-online.html
由于编码字符的百分比实际上代表aka,因此它是一个“×”而不是一个“x”。为了安全起见,谷歌只是使用百分比编码版本。这意味着您的数据库可能很好,因为它将URL显示为有效的UTF8

问题可能在于如何解释请求的URL并尝试将其与数据库匹配。PHP应该已经将百分比编码值解码为“×”,因此:

  • 有东西正在破坏字符串(例如,调用非多字节安全函数,如strtolower()而不是mb_strtolower())

  • 您的PHP代码以UTF8以外的字符集连接到数据库,请检查my.cnf文件在客户端部分是否包含“default character set=UTF8”


或者还有其他问题。不过,URL看起来确实有效。

您好。谢谢你的回答。我进行了一个sql查询,但您所说的不存在。因此,我与我的主机交谈,看看是否可以编辑我的mysql/etc/my.cnf,这将解决问题……好吧。。。我可以确认服务器上的一切正常。然后确认问题是wordpress文件不是服务器。这个问题可能与formating.php文件上的sanitize有关?RegardsCan您发布了用于将URL转换为DB请求的wordpress代码或插件?此处发布的文件太大,但这里有一个pastebin链接,您可以在其中查看该文件