2011-07-30 96 views
3

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

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

  • 当我打开phpMyAdmin的字符都正确地将显示表
  • html内容类型为UTF-8(我甚至复制从phpMyAdmin的元只是要确定。)
  • 数据库和它的表是utf8_general_ci

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

回答

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 
+0

工作就像一个魅力!谢谢! – Kanonskall

1

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

mysql_query("SET NAMES utf8"); 

这就是如果你正在使用mysql的分机。

+0

我我肯定这会工作,但我使用mysqli。但是,谢谢:) – Kanonskall

0

用的mysqli你就必须运行这段代码所做的连接后:

mysqli_set_charset($conn, "utf8");