2012-05-22 48 views
0
    上WAMP 2.20
  • MySQL版本目前
  • :5.5.20
  • PHP版本:5.3.10
  • 表歸類:UTF8斌
  • header('Content-type: text/html; charset=utf-8');

雖然我可以看到保存在MySQL表中的數據是希臘字符,當我嘗試從PHP回顯它們時,它們變成「?」問號。廣東話檢索MySQL數據庫希臘字符用PHP

+2

查看您的源碼html查看正在生成中。可能你需要在瀏覽器正確渲染它們之前對字符進行編碼。 – Jrod

+1

你也可以檢查你的PHP文件的編碼。 – Anas

+0

檢查此[post](http://stackoverflow.com/questions/11806319/php-mysql-greek-letters-showing-like-marks)它的同樣的問題。 – Marios

回答

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'); 
2

嘗試使用htmlentities在回顯您的數據之前對您的特殊字符進行編碼。

echo htmlentities($data); 
2

確保你的文件正在使用ANSI as UTF-8保存又名UTF-8 without BOM。您可以使用記事本++做到這一點:http://npp-community.tuxfamily.org/documentation/notepad-user-manual/document-properties/encoding

而且,使用UTF-8(Unicode)的工作時,請記住:

  • 所有文件必須使用UTF-8編碼保存;
  • MySQL表必須使用UTF-8;
  • MySQL中的字段必須是UTF-8;
  • PHP必須設置爲使用UTF-8;
  • 一切都必須是UTF-8編碼。
+0

thanx男人。你的支票救了我 – themis