带有撇号的mysql文本值未正确显示

| 我正在使用以下代码将TEXT值插入MySQL。 $ groupname =加号($ _POST [\'groupname \']; 从Mysql获取值时,我正在使用 $ name = $ row [\'groupname \']; echo $ name; 正确显示为“戴维斯先生的小组” 但是当将此值添加为 然后我将值传递到另一页,并以 $ name = $ _POST [\'groupname \']; echo $ name; 它显示为“戴维斯先生”,将所有内容保留在撇号之前。 ??不知道为什么,我尝试添加反斜杠($ _POST [\'groupname \'];并且发生了同样的事情     
已邀请:
<input name=\'groupname\' type=\'hidden\' value=\'$groupname\' />
将产生:
<input name=\'groupname\' type=\'hidden\' value=\'Mr Davis\'s Group\' />
                                                     ^----
在指示的位置,浏览器的解析器将看到
value=
的\'end \',后跟一些未知属性
s
和断开的属性
Group \'
。 要将这种类型的文本嵌入到表单中,您需要使用
htmlspecialchars()
,它将任何HTML元字符(
<
>
\'
\"
)转换为它们的字符实体等效项,以便可以将它们安全地嵌入到表单中。 “ 10”是不推荐使用的“安全地”向数据库中添加内容的方法。嵌入HTML不会使某些事情安全。     
检查输入网页的文本编码。匹配您的数据库字符集-使用utf-8。     

要回复问题请先登录注册