2011-08-07 5 views
0

Unicode charに問題があります。私が欲しいのは、既に完了しているPHPからAccess mdbデータベースに接続し、いくつかの情報を得ることです。私がユニコード文字の代わりにchar文字を得るようになるまで、すべてのことがうまくいきます。PHPのユニコードではなくクエスチョンマーク、WindowsではMS Accessデータベース

私は、各ページの上部にfollwoingコードを追加することにより、ASPで前にこれを修正した:

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

しかし、私はPHPのための任意の同様の解決策を見つけることができませんでした。 以前にこの問題が発生したことはありますか?

私はMS Accessデータベースに接続する必要があるWindowsでPHPを使用しています。

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

EDITED:私はまた、接続とレコードセットを作成するには、次の2つのCOMを使用

私はUTF-8に文字を設定することができます任意のキーワードがありますか? ここで私は、私は、次の2つを試してみました、MS Accessのは、全く文字セットをサポートしていないようだ私のすべての接続

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

に使用する接続文字列です。

"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を設定しました。それから私は、MySQLに接続するために、PHPでクラスを作成し、ここでのコードの重要な部分です:

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方法の最後の行です。これを設定しないと、ユニコード文字の代わりに常に疑問符文字が表示されます。

誰かをどこか助けてくれることを願っています。

乾杯、

アリ

関連する問題