-PR-
解決済み

TEXTAREAで改行するとついてくるゴミコード

  • 困ってます
  • 質問No.57604
  • 閲覧数584
  • ありがとう数2
  • 気になる数0
  • 回答数1
  • コメント数0

自分で作成したCGIで送信されてきたフォームデータを
取得し、テキストファイルに出力するような処理をやってまして、
その送信されるデータにはTEXTAREAで入力されたデータもあります。

CGIの処理後に出力されたファイルをテキストエディタで開こうしたら、
テキストエディタでオープン不正であるようなメッセージが表示されました。
自分でもその原因についてバイナリエディタで調べたところ、
TEXTAREAで改行されたところに不正なゴミコードが混ざっているようでした。

改行コードは16進数でいうと「0D0A」のはずですが、バイナリファイルで
みたところ改行部分が「0D0D0A」となっているようで、どうやら「0D」の余計な
コードがテキストエディタで開いた時、エラーを発生させている原因となってるようです。
CGIの処理内でこの「0D」コードを削除する処理をいれるのもいいんですが、
なにか簡単にこの「0D」というゴミコードを取り除きたいのですが、
ナニかいい方法ないでしょうか?
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル9

ベストアンサー率 29% (28/95)

Perlの場合ですが、デコードのついでに

$value =~ s/\r\n/\n/g;
$value =~ s/\r|\n/\n/g;
$value =~ s/\n/<BR>/g;

とかよくやりますよね。
C/C++、Rubyなどで書かれたものについてはわかりませんが。

そうするつもりで書いたコードが、まちがってるんじゃないでしょうか?
またはファイルへのprintミスではないでしょうか。
お礼コメント
noname#149114

早速のアドバイスありがとうございます。
コメントいただいた後に、デコード処理周辺を調べてましたら、
やはり処理内でバグがあったようです。
TEXTAREA内での改行コードもそのまま「%0D%0A」の文字列として
取り込まれるようですね。これを無理にデコードさせたために
生じたバグのようでした。
自分が作ったCGIはCで作成したものなので、このようなバグが
生じたんでしょか???
おかげ様でバグ解決いたしました。また何かありましたら宜しくお願い致します。
投稿日時 - 2001-03-30 00:18:01
-PR-
-PR-
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


専門家があなたの悩みに回答!

-PR-

ピックアップ

-PR-
ページ先頭へ