2011-08-07 22 views
0

我有一個Unicode字符的問題。我想要的是連接到從Access的mdb數據庫,這已經完成,並獲得一些信息。一切都很好,直到我開始得到問題標記字符而不是unicode字符。問題在Windows中的PHP和MS Access數據庫,而不是unicode字符

我已經加入follwoing代碼在每一頁頂部的ASP之前固定的:

<%@LANGUAGE="JAVASCRIPT" CodePage=65001%> 

但是,我找不到任何PHP類似的解決方案。 有沒有人遇到過這個問題?

請記住,我在Windows中使用PHP必須連接到MS Access數據庫。 我還可以使用下面的兩個COM口建立連接,並記錄:

COM('ADODB.Connection') 
COM('ADODB.Recordset') 

編輯:

有沒有這讓我設置字符爲UTF-8的任何關鍵字? 下面是我用我所有的連接

"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=database.mdb;" 

我曾嘗試連接字符串以下兩個似乎MS Access不支持的字符集,在所有。

"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=database.mdb;character set=ISO8859_1;" 
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=database.mdb;Charset=ISO8859_1;" 

在這裏需要一些幫助,請....

感謝

阿里

回答

1

所以我想沒有人知道這個問題。所以我去了所有的數據從MS Access傳輸到MySql。我還在MySql中將utf8設置爲我的主要集合。然後,我創建一個PHP類連接到MySQL和這裏的代碼的重要組成部分:

class MySqlConn 
{ 
    private $m_dbConn; 
    private $m_error; 

    public function __construct($location, $username, $password) 
    { 
     $this->m_error = FALSE; 
     $this->m_dbConn = mysql_connect($location, $username, $password); 
     if(!$this->m_dbConn) $this->m_error = mysql_error(); 
     mysql_set_charset('utf8', $this->m_dbConn); 
    } 
. 
. 
. 
} 

此代碼的重要部分是__constrcut方法,這表明你的連接的字符集的類型的最後一行。如果你沒有設置,你總是得到問號字符而不是unicode字符。

希望它可以幫助別人。

乾杯,

阿里