gpt4 book ai didi

php - 在 MySQL 和 PHP 中使用特殊字符(撇号)

转载 作者:行者123 更新时间:2023-11-28 23:57:59 24 4
gpt4 key购买 nike

我正在尝试解决从表单收集信息的页面中的问题。在 <head>我们有:

<meta http-equiv="content-type" content="text/html;charset=utf-8" />

一旦连接到数据库,就会有一行:

mysql_query("SET NAMES utf8");

变量 $comments 中插入的字段之一通常带有撇号,因此我们有一行:

$comments= addslashes($comments); 

在将其插入数据库之前。

当我们试图在另一个页面中读出数据库时,我们执行这一行

stripslashes($row[$comments]);

当我们有 "时,我们得到一个简单的 ?(问号),它实际上是这样存储在 mySQL 中的。

其他字符,如简单的撇号 ' 只会在数据库中变为 … 和 � 或类似字符。

如何去除这些问号字符并保留原始数据?

最佳答案

addslashes() 是错误的转义函数。您必须使用 mysql_real_escape_string(),因为转义取决于所使用的字符集。因此,您最好还使用 mysql_set_charset(),它应该替换您的 SET NAMES utf8 查询。

总而言之,请注意 mysql 扩展已弃用并将从 PHP 中删除。请改用 mysqli。

反面也是错误的。无需删除转义 - 它在查询期间被“使用”时被删除。但是,您必须确保对输出到 HTML 的所有数据进行正确编码。

关于php - 在 MySQL 和 PHP 中使用特殊字符(撇号),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30989005/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com