[PHP-users 24143] テキストアップロードの際の文字コード

kohei-w kohei-w @ wd6.so-net.ne.jp
2005年 1月 15日 (土) 19:24:03 JST


kohei-wと申します。

早速ですが、
fopenでテキストデータを読み込み(アップロード)→1行ごとに行番号を付けて
ソースを吐き出すというシンプルなプログラムを作っているのですが、
JIS文字コードのファイルをアップロードすると改行されずにひとかたまりに
なってしまいます。
こちらで調べた所ですと、
改行コード→CR+LF→問題なし
改行コード→LF→問題なし
改行コード→CR→改行されない
※当方の標準文字コードは、EUC-JPです。

一度読み込んだものを出力する際は、
mb_convert_encodingで、変換できるのは分かるのですが、
このような場合、どのようにすれば、JISコードのテキスト(CR改行のもの)も、
一行ごとに取得できるのでしょうか。

吐き出すプログラムは下記の通りです。
<?php
$fp = fopen($_FILES['local_text_file']['tmp_name'] , "r");
$lines = file ($_FILES['local_text_file']['tmp_name']);
foreach ($lines as $num => $line) {
   echo "Line #<b>{".$num."}</b> : " . htmlspecialchars($line) . "<br>\n";
}
?>

よろしくお願い致します。
失礼いたします。

環境
Linux RedHat9
PHP 4.3.8
※当方の標準文字コードは、EUC-JPです。




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