将编码设置为UTF8 - PHP

时间:2012-09-30 21:17:40

标签: php mysql encoding utf-8

  

可能重复:
  SET NAMES utf8 in MySQL?

我正在编写PHP以连接到MySQL数据库。我看过一些将编码设置为UTF8 mysql_query("SET NAMES utf8");

的示例

为什么这样做?这样做有什么好处,避免出现什么问题?

3 个答案:

答案 0 :(得分:2)

这样,数据库将以UTF8编码返回数据(如果要插入/更新,则期望这样)。如果您尝试从服务器查询非ascii字符并使用UTF8编码标头以UTF8格式显示内容,则非常有用。否则你会看到破碎的字符。

如果数据库中的数据是非ascii和非utf8编码/排序规则(如用于西里尔文的CP-1251),或者如果在同一数据库中有多个排序规则,则特别有用。通过这种方式,您可以确保获得/将所有数据置于单一通用编码中,您既了解又喜欢:)

一般来说,这是一个很好的做法。大多数情况下,您无法确保没有非ascii字符的数据,或者不会插入此类数据。所以这总是很好的做法,因为UTF8似乎是目前被广泛接受和喜爱的数据编码。

答案 1 :(得分:0)

MySQL参考文章非常简洁地回答: http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html 一定要尝试在SO之前使用谷歌:/虽然我不太介意,很多人真的做。

答案 2 :(得分:0)

通过这样做,你告诉php与UTF-8中的mysql通信。运行这行代码的成本接近于零。性能没有任何缺点。如果您不想使用它并拥有权限,则应该从mysql设置中更改它。

请参阅以下链接: http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html