Re: [PHP-users 28170] Re: PDO での文字化けについて

Yusuke Hata nowel @ xole.net
2006年 1月 19日 (木) 18:28:06 JST


nowelです。
ぢょ~さん、補足ありがとうございます。
ikutirinさん、私の説明不足でした。(以下説明を

>>Oracle 10g(R2だったのですが)で以下のSQLを発行してくだ
>>さい。
>>"SELECT VALUE FROM NLS_DATABASE_PARAMETERS
>>WHERE PARAMETER='NLS_CHARACTERSET'"
>AL32UTF8となっていましたので、
>mbstring.internal_encoding = AL32UTF8
>としましたが文字化けはなおりませんでした。

AL32UTF8というのは、上鍵さんの言うとおりmb_list_encodingsに存在しないと思います。
しかし、"UTF8"となっているので以下のようにすると文字化けは解消されるかもしれません。

mb_internal_encoding("UTF-8");

$row = $stmt->fetch(PDO::FETCH_ASSOC);
// "SJIS"に変換 ( $row["column"]は適当に )
$result = mb_convert_encoding($row["column"], "SJIS");
// UTF-8 から SJISに変換
//$result = mb_convert_encoding($row["column"], "SJIS", "UTF-8");
# iconv でも同様にSJISに変換でいけると思います。

また、これらが面倒ならば
全部utf8に統一というのもありかもしれません(解決になっていませんが ^^;

--
Yusuke Hata <nowel @ xole.net>
blog: http://blog.xole.net/


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