ホームページ  >  記事  >  バックエンド開発  >  Mysql workbench php adodb が mssql に接続して文字化けの問題を解決する

Mysql workbench php adodb が mssql に接続して文字化けの問題を解決する

WBOY
WBOYオリジナル
2016-07-29 08:40:02862ブラウズ

Zhou Haihan/Text
ADO は、new COM("ADODB.Connection", NULL, CP_UTF8)//65001 のようなステートメントを使用して、正しい変換を実現できます。しかし、ADO の php サポートにはドキュメントがありません。オープンソースの adodb には豊富なドキュメントがあります。
UTF-8 を設定する方法は、次のようにデータベース ドライバーごとに異なります:

コードをコピーします コードは次のとおりです:


すべてのドライバーの場合
'persist'、'persistent'、'debug ', ' fetchmode', 'new'
Interbase/Firebird
'dialect','charset','buffers','role'
M'soft ADO
'charpage'
MySQL
'clientflags'
MySQLi
'port' 、'socket '、'clientflags'
Oci8
'nls_date_format','charset'
すべてのドライバー用
'persist'、'persistent'、'debug'、'fetchmode'、'new'
Interbase/Firebird
'dialect' ,'charset ','buffers','role'
M'soft ADO
'charpage'
MySQL
'clientflags'
MySQLi
'port', 'socket', 'clientflags'
Oci8
'nls_date_format','charset '


その中で、Ado は、新しい COM メソッドと同様に、charPage 属性を使用して uft-8 を設定できます。しかし、AdoNewConnection($dbdriver) の $dbdriver が 'ado' または 'ado_mssql' に設定されている場合、渡されたデータベースがプロバイダーによって置き換えられることがわかりました。データベースの名前を設定するにはどうすればよいですか?まだ方法が見つかっていません。
$dbdriver='ado://sa:cvttdev@172.16.22.40/sqloledb?charpage=65001';
形式は 'driver://user:passwd@host/database?options[=value] です
解決しない データベース名を設定する場所。
長い間悩んだ結果、次の解決策しか見つかりませんでした:

コードをコピーします コードは次のとおりです:





$dbdriver='ado_mssql';
$server='192.168.22.40 ';
$user='sa';
$DATABASE='sqloledb';
//$dbdriver='ado://sa:cvttdev@172.16 .22.40/sqloledb?charpage= 65001';
$myDSN="PROVIDER=MSDASQL;DRIVER={SQL Server};SERVER={172.16.22.40};DATABASE=sugarcrm_db;UID=sa;PWD=cvttdev;"; ('adodb5/adodb.inc .php');
$db = ADONewConnection($dbdriver); # 例: 'mysql' または 'postgres'
$db->charPage = 65001 ;
//$db->Connect($server, $user, $password, $database);
$db->Connect($myDSN);
//エラー:mssql サーバーは以下のコードをサポートしていません
// $db->Execute( "名前を設定 'utf8'");
echo "クエリの前"
$rs = $db->Execute('select * from accounts');
print "

" ; 
print_r($rs->GetRows());


;
上記では、mysql workbench php adodb が文字化けの問題を解決するために mssql に接続する方法を紹介しており、mysql workbench の内容も含めて、PHP チュートリアルに興味のある友人に役立つことを願っています。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。