人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

php5でPEAR DBを使用しMS SQL Server2005にアクセスしようと考えています。
php5を内部utf-8で動作させているのですが、普通にSQLを発行するとutf-8のSQL文をSQL Serverが理解してくれないためにエラーになります。なので、どこかで文字コードの変換を行わないといけないと思うのですが、どのように対応するのが良いのでしょうか。
サーバのOSはWindowsです。

●質問者: dambiyori
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:dB MS OS Pear SQL
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● vector
●24ポイント

SQL ServerはShift_JIS(MS932)で動作しているはずですので、クエリをShift_JISに変換すれば大丈夫だと思います。

$sQuery = "・・・・・"
$sQuery = mb_convert_encoding($sQuery, 'SJIS', 'UTF-8')
◎質問者からの返答

ええ、それは理解しているんですが、その処理をどこで行うか(都度変換するとか、PEAR DBをラップするとか、PEAR DBに手を入れるとか。)あるいは、別の良い方法があるとかといったご意見が聞きたかったのです。

よろしくお願いします。


2 ● vector
●46ポイント

PEAR::DBを直接変更しても、アップデートするとまた直さないといけなくなるので、ラップするのがベターかと思います。


まぁPEAR::DBをそのまま使うってことはあんまりしませんし。


ラップしたオブジェクトのクエリを実行するメソッドに、クエリの文字コードを変換する処理を加えれば、必要なくなったときや、元の文字コードが変わったときに修正が容易になると思います。

◎質問者からの返答

なるほど、確かに、アップデートに伴うメンテナンスを考えるとそうですね。ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ