PHP,MySQL,字符无法正确显示。

时间:2011-07-30 14:15:51

标签: php mysql utf-8 mysqli

我有一个拥有玩家名字的数据库(它是游戏的统计数据),但是当我用mysqli查询获取玩家名字时,我得到了一些奇怪的结果。

例如,字符“Α†Ω”显示为“? ?”。

  • 当我在phpmyadmin中打开表格时,字符会正确显示
  • html内容类型是utf-8(我甚至从phpmyadmin复制了元数据以确保。)
  • 数据库及其表格为utf8_general_ci

如何正确显示这些(和其他)字符?

4 个答案:

答案 0 :(得分:5)

您必须将连接字符集设置为utf8。

执行以下功能:http://php.net/manual/en/mysqli.set-charset.php

或执行以下查询:

 SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8

答案 1 :(得分:3)

在客户端从数据库中获取结果时。您必须指定关于连接字符集。因此,最好在mysql配置文件中提及charset。成功连接后,编写以下代码行:

mysqli_set_charset($con,"utf8"); // Change character set to utf8

答案 2 :(得分:1)

使用mysqli,您必须在建立连接后运行此代码:

mysqli_set_charset($conn, "utf8");

答案 3 :(得分:0)

您需要为php设置连接的charaset。连接数据库后输入以下代码。

mysql_query("SET NAMES utf8");

如果您使用的是mysql ext。