header('Content-type: text/html; charset=utf-8');
虽然我可以看到MySQL表中保存的数据是希腊字符,当我尝试用PHP回显它们时,它们会变成“?”问号。
答案 0 :(得分:4)
确保您的客户端连接设置为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');
答案 1 :(得分:2)
在回显数据之前,请尝试使用htmlentities对特殊字符进行编码。
echo htmlentities($data);
答案 2 :(得分:2)
确保使用ANSI as UTF-8
又名UTF-8 without BOM
保存您的文件。您可以使用NotePad ++:http://npp-community.tuxfamily.org/documentation/notepad-user-manual/document-properties/encoding
此外,使用UTF-8(Unicode)时请记住: