2010年1月 5日

[PHP-users 34917] Re:固定長電文の解析

あさかわ


> //文字コードをSJIS⇒UTF8に変換
> $str=mb_convert_encoding($str,"utf-8","SJIS");

この行を、削除して

下記の様に、そ固定長処理のあとで、SJIS->UTF8に変換するのです。

//各カラムのデータ取得
$str_1 = substr($str,0,10);
$str_1=mb_convert_encoding($str_1,"utf-8","SJIS");

$str_2 = substr($str,11,10);
$str_2=mb_convert_encoding($str_2,"utf-8","SJIS");

$str_3 = substr($str,21,20);
$str_3=mb_convert_encoding($str_3,"utf-8","SJIS");

$str_4 = substr($str,41,30);
$str_4=mb_convert_encoding($str_4,"utf-8","SJIS");

$str_5 = substr($str,71,30);
$str_5=mb_convert_encoding($str_5,"utf-8","SJIS");

$str_6 = substr($str,101,30);
$str_6=mb_convert_encoding($str_6,"utf-8","SJIS");

つまり
コード変換してから、固定長データを処理するのではなく。
固定長データを処理してから、コード変換するのです。
また、固定長データの処理に、mb_*関数を使用しては駄目です。

_______________________________________________
PHP-users mailing list PHP-users@xxxxx
http://ml.php.gr.jp/mailman/listinfo/php-users
PHP初心者のためのページ - 質問する前にはこちらをお読みください
http://oldwww.php.gr.jp/php/novice.php3


投稿者 xml-rpc : 2010年1月 5日 03:02
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/92021
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。