[PHP-users 6407] Re: RedHat7.2+ php4.1.2からpostgres(EUC-JP)とM$-SQLserver (SJIS )にアクセスする場合の漢字コード処理は?
Miki Ishida
php-users@php.gr.jp
Fri, 22 Mar 2002 12:18:43 +0900
石田と申します。
"Tatsuya Matsuyama" <tatsuya@matsuyama-architect.co.jp> wrote:
> Windows上のIEに表示された
> charactorset=EUC-JPのフォームページから
> 以下のよう全角漢字を入力されると
>
> 「あ」->「??」
> 「い」->「??」
>
> のように変換された結果がM$-SQLserverに保管されます。
私も同様の現象に悩みましたが、
現在以下のようにして解決しています。
・環境
RedHat7.1,Apache1.3.23,PHP4.1.2,FreeTDS0.53
Windows2000,SQLServer2000
・[PHP-users 4880]を参考に、tdsのバージョンは4.2を使用
・php.iniの設定
[mbstring]
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.detect_order = auto
mbstring.substitute_character = none
・select結果を使用する場合は
mb_convert_encoding($name, "EUC-JP", "SJIS");
と変換する
・insert時は
mb_convert_encoding($name, "SJIS", "EUC-JP");
と変換する
tdsのバージョンを4.2にしないと、
EUC-JP,SJISの変換をしていても文字化けしました。
=========================
石田 美樹
ishida@fac.co.jp
=========================