为什么PHP中的这些字符会被转换?

时间:2011-04-15 04:36:51

标签: php html chars

我从数据库中获取了大量文本等信息,但在使用PHP回显时,字符正在被更改。如何让它显示正常的东西?感谢。

//makes database connection and queries the db
$row = mysqli_fetch_array($result);
echo $row['text'];



  � inside has a question mark
\ before every apostrophe
and it\\\'s

以及更多......

1 个答案:

答案 0 :(得分:2)

首先,过度斜线。这通常是由于magic_quotes引起的过度转义引起的,建议将其关闭并对进入数据库的数据使用mysql_real_escape_string。在关闭它之前,请确保数据已正确转义,因为这可能会在您的站点中引入sql注入漏洞。

至于怪异的角色。您的数据库和网站字符集需要匹配。确保您的网站字符集设置为utf-8,使用元标记或header设置。

magic_quotes进行了很难的更改,但一旦完成,您就不必担心再次对数据使用stripslashes。因为您不应该对数据库中出现的数据stripslashes,如果它首先被正确转义。