[PHP-users 33215] Re: 【解決】Re:PHP5+MSSQLSERVER2005での中国語の取得について

"成田 実" narita @ sri-net.jp
2008年 1月 31日 (木) 23:37:42 JST


goungounさま
kanonbellさま

ありがとうございます。

過去ログは何度も読みました。
できなかったと書いてあった方法を試したりしてましがたやはりできず。
mb_detect_encodingも100%信頼できないってことは
今回いろいろ試しているうちに気がつきました。

今日も1日試行錯誤しておりましたが、結局解決には至らなかった・・・

と思った矢先に、後輩が「できました!」と報告に来ましたので
解決方法をお伝えいたします。

簡単に申しますと
COMでADODBオブジェクトを作成する接続方法で
引数に文字コードが設定できるみたいで
この方法でnvarcharに格納してある中国語が正しく表示できました。

以下にソースを載せておきます。


$conn = new COM('ADODB.Connection', NULL, CP_UTF8); 
$rs = new COM('ADODB.Recordset', NULL, CP_UTF8); 

$conn->ConnectionString = 'Provider=SQLOLEDB;Network Address=IPアドレス\インスタンス名;Initial Catalog=データベース名;User ID=ユーザID;Password=パスワード;'; 
$conn->open(); 

$rs->open("SELECT * FROM test", $conn); 
while(! $rs->EOF()) { 
        $f = $rs->Fields('name'); 
        echo $f->Value; 
        echo "<br />"; 
        $rs->MoveNext(); 
} 

$rs->close(); 
$conn->close(); 


ご回答くださいました皆様
本当にありがとうございました。


PHP-users メーリングリストの案内