[PHP-users 10980] Re: 文字コード変換がおかしい?
morikawa
php-users@php.gr.jp
Mon, 21 Oct 2002 10:16:34 +0900
もりかわです。亀レスつけるのもなんですが。。。
> 良くありがちな質問に似ているかもしれないのですが…、同じ変数に対して繰り
> 返し『mb_convert_encoding』などを実行すると正しく変換されなくなっていく
> ものなのでしょうか?
>
同じ変数でも、書き立てホヤホヤの下記はちゃんとconvertされてますけど。
// DB to CSV
while ( $row = $rsh->fetchRow() ) {
$data = preg_replace('/[\r\n]+/',' ',join(',', $row));
print mb_convert_encoding($data, 'SJIS', 'EUC-JP')."\r\n";
} //
> ※最初、$a = "EUC"
> $a = mb_convert_encoding($a,"SJIS","EUC-JP");
> $a = mb_convert_encoding($a,"SJIS","EUC-JP");
> $a = mb_convert_encoding($a,"SJIS","EUC-JP");
> $a = mb_convert_encoding($a,"SJIS","EUC-JP");
同じ変数が同じ値ってことだとすると、
最初が $a = "判別可能なくらい長い日本語文字列" だったとして、
http://jp.php.net/manual/ja/function.mb-convert-encoding.php
にあるように、SJISに変換された文字列をEUC-JPで解釈せよと
指定しているのだからおかしくても不思議じゃない気がしますが、
いかがでしょうか?
自分はあんま困ったことがないので、
> なんだか期待通りに変換してくれないことが多くて困ってます。
ってのは実感がありませんが。。。
もりかわ
[PHP-FAQ JP (非公式)] http://phpfaq.encore-ann.com
一度メゲてます。がんばれワカ造!