0

我有一个文本区域,用户可以在其中输入一些信息。一些用户在他们的信息中输入单引号和双引号,我最终在页面中看到的是â��和所有类型的奇怪字符,其中单引号/双引号应该是。我只是使用函数 mysqli_real_escape_string() 和 trim() 来存储信息和 htmleneties() 在 php 中显示它们。

在我的数据库中,我已经看到了 â�� 字符,那么为什么单/双引号是属性存储的?谢谢!

4

2 回答 2

2

不一致的字符集。确保在数据库、数据库连接、数据库表、表列、服务页面时使用的内容类型标头以及页面的内容类型元标记上使用相同的字符集。您还希望避免在多字节编码上使用 PHP 字符串函数,因为它们只对 iso-8859-1 编码文本安全。如果您打算接受和显示英语以外的语言,您可能应该使用 UTF-8。

于 2011-08-01T23:18:10.260 回答
0
  • 确保您在 DB 中有 utf8 编码
  • 确保设置名称

mysql_query("SET NAMES utf8");

  • 确保在 php 中设置字符集

header("Content-type: text/html;charset: utf-8");
于 2011-08-01T23:19:34.893 回答