2013-12-22 96 views
4

我正在將數據從Oracle數據庫導入到MySQL表中。阿拉伯語文本輸出php mysql utf-8轉換問題

我已經將我的MySQL表格字符集設置爲utf8_general_ci,並且數據庫和表名稱的字段列值也設置爲utf-8

現在,當我獲取的結果,它打印一樣,這與? sign

مرحبا العال� - 5 

我在列我UTF值爲مرحبا العالÙ

當我比較這串與Oracle的字符串,它顯示了正確的值 - Oracle數據庫的精確副本,並且它顯示了完美的阿拉伯字符串。

我已經把我的HTML元使用UTF-8以及

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" > 

如果我設置MySQL查詢如下,它顯示垃圾字符:

mysql_query("SET NAMES utf8;"); 
mysql_query("SET CHARACTER_SET utf8;"); 

其次千方百計找到了堆棧和其他網站,並仍然出現錯誤。

請幫忙!

+0

請粘貼原始字符,並與您想要顯示的等效阿拉伯字符粘貼! – ProllyGeek

+0

@ProllyGeek utf chars:Ù...رØبااÙ「عاÙ」Ù...原始文本:مرحباالعالم,而我的頁面輸出文本:مرحباالعال –

+0

什麼是字符集中的數據oracle數據庫。 – Musa

回答

6

您是否保存了沒有BOM的php文件?如果沒有,嘗試一下。 Potential issues with the UTF-8 BOM


與 'UTF-8' 使用單引號和不SET CHARACTER_SET

mysql_query("SET NAMES 'utf8'"); 

並用字符集UTF-8在html文檔頭部還嘗試:

header("content-type: text/html; charset=utf-8"); 
0

與pdo你應該有這個

$_dbhandler = new PDO(PDO_DSN, DB_USERNAME, DB_PASSWORD,array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES UTF8"));