ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

超初心者向けCGI講座コミュの改行の削除について

  • mixiチェック
  • このエントリーをはてなブックマークに追加
みなさま、ご無沙汰しております。
また問題に直面しております。よろしくお願いいたします。

携帯ページのフォームに入力された情報をCSVに書き出す
ようなCGIを作っております。
その際に、フォームに入力された内容に改行がある場合は、
削除して、CSVに書き込むようにしているのです。

ひとまず下記のように、改行コードを削除するように
しているのです。

$dt =~ s/\n//g;
$dt =~ s/\x0d\x0a//g;
$dt =~ s/\x0d//g;
$dt =~ s/\x0a//g;

しかし、携帯AUの3G-CDMAの場合、
改行が削除されていないということが分かりました。

改行の文字コードが、違うのかと思うのですが、
どなたかご教授いただける方いらっしゃいませんか。

よろしくお願いいたします。

コメント(6)

的外れだったらすいません

$dt =~ s/\r\n//g;
$dt =~ s/\r//g;

追加してもダメですか?
CGIでバイナリ出力できなかったっけか・・・

「あああああ」と
「ああ
あああ」を
入力すれば
「あ」の文字列とは違う文字列が後者には入っているはず・・・
改行コードがそれ以外であるとは考えにくいですね。
[CDMA 3G 改行]とかで検索しましたが、特にHITしなさそうでした。

皆さんがおっしゃるように、直接見れば一発っぽいですね。

$dt =~ s/\n//g;
$dt =~ s/\x0d\x0a//g;
$dt =~ s/\x0d//g;
$dt =~ s/\x0a//g;

open(OUT,"> ./test.log");
print OUT $dt;
close(OUT);

これをバイナリエディタで見てみてください。

82 A2 0? 82 A2

とか出るんじゃないかと思います。
これで出なかったら、他のミスだと思います。

実は携帯はここで置換してなかった!なんてパターンのが可能性高そうです。
文字コードでは無いような気がします。

こんなこともありうるかもと。。。
最近はDB使うことが多いので、たまにCSV形式の
プログラムをさわってて、やってしまうのは
<br> を \n に置換してから改行コード云々の処理を
やるつもりで、置換の前に処理があって
\n が生み出されること。。

あと余談ですが
<br> を 対象に\n に置換しているプログラムで
<br />とデザイナーさんが丁寧に変更してく
れたりすると探すの大変です。w

案外、こんなパターンにはまることありませんか?
皆さんも。。。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

超初心者向けCGI講座 更新情報

超初心者向けCGI講座のメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング