2011-08-29 60 views
1

我有一個PHP頁面,我試圖顯示阿拉伯文本但顯示。php頁面不顯示阿拉伯文本

在MySQL數據庫中,我成功地存儲了阿拉伯文本。

我用下面的代碼連接到數據庫:

function connect(){ 
$this->dbLink = mysql_connect($this->dbHost,$this->dbUser,$this->dbPass); 
if(!$this->dbLink) die("Could not connect to database. " . mysql_error()); 
mysql_select_db($this->dbName); 
mysql_set_charset("utf8", $this->dbLink); 
} 

而PHP頁面中使用下面的頭:

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

但仍然沒有成功。

感謝您的幫助。

+4

兩個頭一起後,該兩行添加到您的PHP腳本?開玩笑吧? –

+1

''? – yoda

+0

@yoda仍然顯示???? – air

回答

3

您可以使用此元代碼:

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

並請MySQL的列的字符類型..

查找到this

+0

我有相同的meata和列的字符類型是utf和集合是utf_general_ci,正如我所說,阿拉伯語正確地保存在數據庫中。 – air

+0

你選擇數據的時候你有問題嗎?真正? –

+0

是唯一的問題,當從數據庫中選擇和顯示數據... – air

1

Addtional在元節設置的標頭,請檢查您的在php.ini中的default_charset設置。如果您自己設置內容類型標頭或與您的內容類型元信息相對應,則default_charset應爲空。

+0

其相同的php.ini文件 – air

1

您設置了一個META標籤,告訴瀏覽器使用ISO-8859-1(<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />),該標籤適用於基於拉丁語的腳本,但確實不是阿拉伯語。

還要確保你在任何地方都有UTF-8:

  • 的DB-列
  • 數據庫連接(你已經擁有它)
  • 網站(通過HTTP頭或META-tag,你不需要兩個,你不需要第二個META標籤,如上所述...)
2

檢查文件的編碼,它應該是UTF-8,你可以嘗試在查詢文本之前運行以下查詢:

mysql_query("SET NAMES UTF8"); 
0

您是否嘗試過將連接設置爲使用UTF-8(使用mysql_set_charset)?

0

嘗試MySQL連接

mysql_query("SET NAMES cp1256"); mysql_query("set character set cp1256");