PHP& MySQL特殊字符编码问题

时间:2010-08-13 03:18:15

标签: php mysql

当用户提交特殊字符♠时,它会以â�的形式存储在MySQL数据库中,如果用户想要更改它而不是将其显示为♠,则显示为â� 1}}如何解决此问题,使其dsiplayed返回♠并保存为♠

另外注意我应该如何使用PHP保存我的特殊字符?

我正在使用PHP& MySQL

2 个答案:

答案 0 :(得分:3)

  1. 数据中的用户类型
  2. 您可以转义该数据以避免SQL注入(不要将特殊字符转换为等效的html代码)
  3. 数据存储在数据库中的确切方式是用户在
  4. 中键入的方式
  5. 您将原始数据拉出来
  6. 您通过character encoding function或类似的东西运行原始数据,以将特殊字符转换为其HTML代码,从而避免跨站点脚本或html注入

答案 1 :(得分:-1)

那可能是个问题 如果要将特殊字符转换为实体,则在输出到字段值/ textarea内容时,必须对它们进行htmlencode 两次。但它可能会混乱其他角色 - 所有这些都成为他们的实体表征 - 引号,括号等。如果这是你要求的 - 继续。但是,在我看来,编辑这样的文本可能是一个糟糕的混乱 这就是为什么最好不要让用户使用实体。为什么他们不能进入符号呢?

对于数据库中的特殊字符 - 只需在数据库和HTML中使用UTF-8编码。