Php MySQL数据库在entires中有非转义单引号。。。如何展示它们?
数据库中有大量未转义的条目,因为它们是在插入时手动输入的,所以它们看起来像:不在条目内部,但当我试图显示它们时,它们在PHP中输出时有一个奇怪的字符。在我将任何东西放入数据库之前,我通常会使用mysqli\u real\u escape\u string,然后在检索数据时也会使用mysqli\u real\u escape\u string,但是由于数据已经存储,而没有使用real\u escape,我如何正确显示它 显示的字符(而不是单引号)如下所示:� 如果有帮助,数据将存储为“文本” 谢谢Php MySQL数据库在entires中有非转义单引号。。。如何展示它们?,php,mysql,character-encoding,Php,Mysql,Character Encoding,数据库中有大量未转义的条目,因为它们是在插入时手动输入的,所以它们看起来像:不在条目内部,但当我试图显示它们时,它们在PHP中输出时有一个奇怪的字符。在我将任何东西放入数据库之前,我通常会使用mysqli\u real\u escape\u string,然后在检索数据时也会使用mysqli\u real\u escape\u string,但是由于数据已经存储,而没有使用real\u escape,我如何正确显示它 显示的字符(而不是单引号)如下所示:� 如果有帮助,数据将存储为“文本” 谢谢
对于同一问题的未来用户,以下是步骤:
- 检查您的网站标题以查看编码是什么
- 检查mysql表列并确保它们匹配李>
- 如果他们不改变他们来匹配。mysql中的utf8和HTML中的utf8对我很有用
- 您必须返回旧的mysql表并更新它们,以便正确设置新的编码李>
- 新的条目应该可以正常工作
- 当您以PHP(或者我猜您使用的任何语言)输出结果时,根据您是否使用任何验证,您可能必须使用mysqli_real_escape_string或类似的函数,例如
- 您需要仔细阅读文本编码
通常的解决方案是确保所有内容(页面上的内容类型编码和mysql)都设置为UTF-8
很可能您的数据是拉丁文1,并且您显示的是UTF-8,反之亦然您需要阅读文本编码 通常的解决方案是确保所有内容(页面上的内容类型编码和mysql)都设置为UTF-8
很可能您的数据是拉丁文1,并且您正在准确显示UTF-8或反之亦然,这里有一个很好的编码问题介绍:感谢大家的输入。。。我在站点上的编码是utf-8,我将数据库列更改为utf8 general ci,但它仍然存在相同的问题。。。还有什么我该换的吗?在我看来你得弄清楚数据库里的数据是什么。您可能还必须转换现有数据。首先,我要测试一下,当你把新数据放进去,然后显示出来,结果是正确的。然后了解如何升级/转换数据库中的现有数据!谢谢你的帮助。新信息正在发挥作用。我只需要浏览和编辑一些旧的。非常感谢+1,下面是对编码问题的一个很好的介绍:感谢大家的输入。。。我在站点上的编码是utf-8,我将数据库列更改为utf8 general ci,但它仍然存在相同的问题。。。还有什么我该换的吗?在我看来你得弄清楚数据库里的数据是什么。您可能还必须转换现有数据。首先,我要测试一下,当你把新数据放进去,然后显示出来,结果是正确的。然后了解如何升级/转换数据库中的现有数据!谢谢你的帮助。新信息正在发挥作用。我只需要浏览和编辑一些旧的。谢谢