Utf 8 如何删除wordpress中的特殊字符?

Utf 8 如何删除wordpress中的特殊字符?,utf-8,wordpress,special-characters,topsy,Utf 8,Wordpress,Special Characters,Topsy,我使用Topsy,它返回我的mebsite中排名最高的文章的标题,它返回我一个RSS文件,其中包含有链接的文章标题。目前,我只使用帖子名称和帖子标题,我尝试使用如下函数在mysql数据库中搜索: get_post_by_title($postTitle,'post'); 但问题是topsy返回我的文章标题,但它也在RSS文件中添加了一些特殊字符,如“'”替换为“'”这个字符。因此,get_post\u by_title()函数不会按标题名返回我的文章 编辑:它会返回一个帖子标题,如下所示: i

我使用Topsy,它返回我的mebsite中排名最高的文章的标题,它返回我一个RSS文件,其中包含有链接的文章标题。目前,我只使用帖子名称和帖子标题,我尝试使用如下函数在mysql数据库中搜索:

get_post_by_title($postTitle,'post');
但问题是topsy返回我的文章标题,但它也在RSS文件中添加了一些特殊字符,如“'”替换为“'”这个字符。因此,
get_post\u by_title()
函数不会按标题名返回我的文章

编辑:它会返回一个帖子标题,如下所示:

iPad Applications In Bloom’s Taxonomy NEXT
这里单引号是特殊的字符


请帮帮我。感谢您使用preg\u replace可以轻松删除特殊字符,请参阅本文->

首先让我们澄清一个误解:示例中的字符不是“特殊”字符。它是Unicode代码点U+2019,“右单引号”。其HTML实体引用为
。这是一个普通字符——它恰好是一个普通字符,在ASCII中没有表示形式。在回答您的具体问题之前,我需要告诉您阅读—这只是tin上的内容,除非您至少多了解一点Unicode知识,否则您将继续遇到类似的问题。不要太烦恼:每个人都会遇到这样的问题,直到他们学会如何处理文本。Unicode与其说是“硬”的,还不如说是“容易暴露我们对文本如何工作的无意识假设。”†

现在,回答你的问题

如果我没看错的话,你会发现你的帖子标题中有非ASCII字符,比如
get\u post\u by\u title()
搜索标题时,代码>不会显示(看起来您使用的是类似的东西-是吗?)解决方案有两种途径:以更易于搜索的格式存储标题,或使用可以查找非ASCII字符的搜索方法

以不同的方式存储标题需要通过PHP函数运行它们,或者在将它们存储到Wordpress DB中之前运行它们-您还需要确保转换的字符没有与
'\xNN'
表单等效的HTML实体,并确保数据库的排序规则/字符集设置为UTF-8或其他支持Unicode的编码。这将是一项不平凡的工作

使用不同的搜索方法不需要修补数据库或深入WordPress内部,但需要非常小心地处理搜索字符串。如果需要,您需要使用搜索中要查找的确切字符,表示为
'\xNN'
字符引用,或者在搜索中小心使用通配符

不管怎样,祝你好运。如果更多的代码可见,则可以提供更具体的建议



†:顺便说一句,如果您使用比PHP更好的语言和比MySQL更好的数据库,那么您在Unicode方面的生活也会变得越来越容易。WordPress与PHP和MySQL有着千丝万缕的联系:PHP和MySQL在正确处理Unicode问题方面都非常糟糕、可怕、可笑。如果你从中删除PHP和MySQL,你的程序员生活会变得更好


——:认真地,而且。避免它们。

从wp-config.php中删除

//定义('DB_字符集','utf8')


//定义('DB\u COLLATE','utf8\u unicode\u ci')

你能举一个它返回的标题的例子吗?当标题中有引号时,什么东西不起作用?当输出正确转义时,这听起来像是一个不需要首先解决的问题。请总结您链接到的帖子;仅仅提供一个链接是没有帮助的。