2010年1月 5日

[PHP-users 34918] Re:固定長電文の解析(解決)

大久保様
@Workgroup様
浅川様、

ありがとうございます。
結局下記のサンプルで解決できました。
私自身mb_***関数の使い方をよく理解できていなかったと思います。

本当にありがとうございました。

>> //文字コードを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日 11:43
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/92022
トラックバック
コメント
コメントする




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