- 目前在 Wamp 2.20
- MySQL 版本:5.5.20
- PHP版本:5.3.10
- 表排序:utf8-bin
header('Content-type: text/html; charset=utf-8');
虽然我可以看到保存在 MySQL 表中的数据是希腊字符,但当我尝试从 PHP 中回显它们时,它们变成了“?” 问号。
确保您的客户端连接设置为 UTF8。例子:
SQL
SET NAMES UTF8;
PHP MySQLi
mysqli_set_charset('utf8');
PHP PDO
$handle = new PDO("mysql:host=localhost;dbname=dbname",
'username', 'password',
array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"
));
PHP mysql(已弃用 -请勿使用)
mysql_set_charset('utf8');
在回显您的数据之前,请尝试使用htmlentities对您的特殊字符进行编码。
echo htmlentities($data);
确保您的文件使用ANSI as UTF-8
aka保存UTF-8 without BOM
。您可以使用 NotePad++: http: //npp-community.tuxfamily.org/documentation/notepad-user-manual/document-properties/encoding
Also, when working with UTF-8 (Unicode) please remember :