我从数据库中获取了大量文本等信息,但在使用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
以及更多......
答案 0 :(得分:2)
首先,过度斜线。这通常是由于magic_quotes
引起的过度转义引起的,建议将其关闭并对进入数据库的数据使用mysql_real_escape_string
。在关闭它之前,请确保数据已正确转义,因为这可能会在您的站点中引入sql注入漏洞。
至于怪异的角色。您的数据库和网站字符集需要匹配。确保您的网站字符集设置为utf-8,使用元标记或header
设置。
对magic_quotes
进行了很难的更改,但一旦完成,您就不必担心再次对数据使用stripslashes
。因为您不应该对数据库中出现的数据stripslashes
,如果它首先被正确转义。