mysql文本值与撇号未正确显示

时间:2011-05-24 17:16:03

标签: php forms addslashes

我正在使用..

将以下TEXT值插入MySQL

$ groupname = addslashes($ _ POST ['groupname'];

从Mysql获取值时我正在使用

$ name = $ row ['groupname'];

echo $ name;

这显示为“戴维斯先生集团”

但当此值作为

添加到表单中时

然后我将值传递给另一个页面,并将其作为

检索

$ name = $ _POST ['groupname']; echo $ name;

它显示为“戴维斯先生”在堕落之前保留一切。

??不知道为什么,我尝试添加stripslashes($ _ POST ['groupname'];同样的事情发生了

2 个答案:

答案 0 :(得分:4)

<input name='groupname' type='hidden' value='$groupname' />

将生成:

<input name='groupname' type='hidden' value='Mr Davis's Group' />
                                                     ^----

在指定的位置,浏览器的解析器会看到value=的“结束”,然后是一些未知属性s和一个损坏的属性Group '

要在表单中嵌入此类文字,您需要使用htmlspecialchars(),它会转换任何HTML元字符(<>',{{ 1}})到他们的角色实体等价物,所以他们可以安全地嵌入一个表格。

"是一种“安全”向数据库添加内容的弃用方法。它不会使嵌入HTML中安全。

答案 1 :(得分:1)

检查输入网页的文字编码。匹配你的db charset - 使用utf-8。

相关问题