[PHP-users 30797] Re: SQL Serverで、nvarcharの値がShift_JISで帰ってくる

moto moto.p3j @ gmail.com
2006年 11月 25日 (土) 23:11:50 JST


パパぱふぅ様、ご返信ありがとうございます。

> array_push する前に、問題のカラムを
>
> mb_convert_encoding ($col 'UTF-16', 'SJIS')
>
> でUTF-16に変換してはどうでしょうか?

日本語(SJISの範囲内の文字)に関してはこれでもいいのですが、
アラビア語などは、そもそもSJISになってしまった時点で、
????になってしまいますので、UTF-8に直しても????のままのようです。
※ご返信頂いてから確かめてみました。

> ところで、ソースと内部コードが UTF-8 なら、UTF-16 ではなく UTF-8 に変換
> すべきではないでしょうか?

SQL ServerのNVARCHARは内部ではUnicode(UTF-16)でデータを持っていると
認識しています。ですので、とりあえず "SJISではなく" 素のままでUTF-16で
取得できる方法があれば教えて頂きたいと考えていました。
その後、パパぱふぅ様にご指摘頂きましたようにmb_convert_encodingなどで、
UTF-16からUTF-8に変換しようと思っていました。

もちろん、最初からUTF-8で取得可能であればそれにこしたことはありません。
※OracleでいうところのNLS_LANGのような機構ってないのでしょうか。。んー。

06/11/25 に papa pahoo<papa @ pahoo.org> さんは書きました:
> ぬまの様
>
> パパぱふぅです。
>
> array_push する前に、問題のカラムを
>
> mb_convert_encoding ($col 'UTF-16', 'SJIS')
>
> でUTF-16に変換してはどうでしょうか?
>
> ところで、ソースと内部コードが UTF-8 なら、UTF-16 ではなく UTF-8 に変換
> すべきではないでしょうか?
>
> ==========================
>   パパぱふぅ
>   http://www.pahoo.org/
> ==========================
>
> _______________________________________________
> PHP-users mailing list  PHP-users @ php.gr.jp
> http://ml.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://www.php.gr.jp/php/novice.php3
>


-- 
NUMANO Motonobu
moto.p3j @ gmail.com


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