如何摆脱 使用PHP

时间:2011-05-13 21:44:52

标签: php mysql sql database

我正在从数据库中删除评论,并且这个, ,出现......如何摆脱它?是因为数据库中有什么或者我是如何显示它的,我尝试过使用htmlspecialchars但是没有用。

请帮忙

7 个答案:

答案 0 :(得分:1)

可能是您将信息存储在数据库中的方式存在问题。如果你使用的编码不接受重音(à,ñ,î,ç...),那么它会使用奇怪的符号存储它们。其他语言特定符号也是如此。可能没有针对数据库中已有内容的解决方案,但您仍然可以通过更改mysql中的编码类型来保存以下插入。

干杯

答案 1 :(得分:1)

当你的角色不知道如何显示时会发生这种情况。它在每个程序中显示不同,许多Windows程序将其显示为一个框,Firefox将其显示为钻石中的问号,其他程序只使用简单的问号。 因此,您可以使用较新的显示系统,安装缺少的字体(如果它是亚洲字符)或查看是否有一个或两个字符执行此操作,只需用可见的东西替换它们。

答案 2 :(得分:1)

问题在于字符编码。如果字符在数据库中显示正常,但不在页面上显示。您的页面需要设置为与数据库相同的字符编码。反之亦然,如果您发布到数据库字符编码的页面不匹配,那就很奇怪了。

我通常会将任何类型的发布字段(例如评论/帖子)的字符编码设置为UTF-8。大多数MySQL数据库默认使用拉丁字符集。因此,您需要修改它:http://yoonkit.blogspot.com/2006/03/mysql-charset-from-latin1-to-utf8.html

HTML部分可以使用META代码完成:<META http-equiv="Content-Type" content="text/html; charset=UTF-8">

或使用PHP:header('Content-type: text/html; charset=utf-8');(必须放在任何输出之前。)

希望能为你赢得胜利。

答案 3 :(得分:0)

确保您的数据库是UTF-8(如果它不能解决问题,请确保在连接到数据库时指定您的字符集)。

您还可以在将数据输入数据库之前进行编码/解码。

我建议使用htmlspecialchars()进行编码,然后使用htmlspecialchars_decode()进行解码。

答案 4 :(得分:0)

正如其他人所说,检查数据库编码是什么。您可以尝试使用utf8_encode()iconv()转换字符编码。

答案 5 :(得分:0)

你是否使用mysql_connect()在mysql_set_charset()中传递你的charset ???

答案 6 :(得分:-1)

检查代码是否有错误。考虑到你已经完全没有告诉我们你正在做什么的细节,这就是所有人都可以说的。

编码问题通常是导致这种情况的原因(你是从整数转换成字符吗?),所以,你通过检查是否正确转换来修复它。