ディバッグについて・もしか改行コード?WEB相談室Webページ作成に関しての何でも掲示板です。perl]いつもお世話になっています。今回は、カートシステムにて商品ファイルを1から5まで作成しているのですが、2と3のファイルでは、正常に動作するのですが1のファイルと4のファイルで動作以上が発生します。1と4のファイルにおいても、最終の行の商品をカートに入れる場合は、正常に動作します。(同じ品を2回購入した場合)原因がわからず、色々試しているのですが解決にいたっていません。(もしかすると改行コードに起因?)みなさまにアドバイスを頂きたく書き込みます。]デバッグ方法についてその1.部分的な処理の動作確認をする場合CopalまたはCopal2を使用する。http://homepage1.nifty.com/kaityo/copal.htmlhttp://homepage1.nifty.com/kaityo/copalpro/index.htmlちょっとした処理の動作確認には本当に便利です。その2.全体的な処理の流れを確認をする場合。デバッグ用のログファイルの出力関数を作って、要所要所でログファイルに情報を書き込む様にして流れやデータを確認する。>(もしかすると改行コードに起因?)とか思っているなら、その部分をCopalで動作確認したり、データをログファイルに書き出してみるのがいいかと思います。この度も、有り難うがとうございます。Copalという便利なソフトを、お教え頂き感謝しています。問題は、原因究明には至ってはいないのですが、どうも文字がの種類によっては、正常に動作します。「ピンク」の文字が入る場合は正常で、「ブルー」という文字がはいるとエラーになるのですが、お心当たりのある原因をアドバイス頂けないでしょうか。]長音「ー」の2バイト目が「\」と判断されているのでは?文字コードを変換(&そろえる)といいかもです。有り難うございました。アドバイスどうりのようです。回避策として長音「ー」の代りにマイナス「−」の文字を使うことにしました。コードに変換していますが、ご提案頂きましたサイトにて勉強してから変更していきます。有り難うございました。これからもよろしくお願いします。]>>3"ー"のShift_JISコード番号は815Bです。5BはASCIIの"["に相当します。'や"で囲んだだけではエラーは起きないはずです。正規表現で使っているのかと思いますが。どちらにしても、CGIスクリプトの内部コードはEUC-JPかUTF-8にするのが無難です。URLを参照すると、うちのブラウザではHTMLソースがそのまま表示されました。これではまともなブラウザではソースがそのまま表示されてしまうはずです。さん、アドバイス有り難うございます。CGIスクリプトの内部コードをEUC-JPにするべく、いろいろわからないまま試してみました。スクリプトの内部コードをEUC-JPにするとは、charset=EUC-JPとしたCGIファイルを、EUCに変換してFTPにて転送する事なのでしょうか。"euc")として変数の文字コードだけをEUCに変換することなのでしょうか。その両方をすることなのでしょうか。\n";のようにすると、「商品名」が文字化けしたメールとなり、またまた質問することとなりました。良きアドバイスをお願いします。]>>6>charset=EUC-JPとしたCGIファイルを、EUCに変換してFTPにて転送する事なのでしょうか。EUC-JPやUTF-8の非ASCII文字はASCII文字と衝突しないので、正規表現の特殊文字を使ってしまうことがありません。メールについては、CGIとは話が異なるため、別に投稿します。]>>6メールの送信はHTTPではなく、SMTP(RFC2821で規定)を使って行われます。歴史的な事情により、SMTPは7bitコードしか通せないようになっています。日本語の文字を表現するには8bit必要なので、従来の符号化方式ではSMTPを用いてメールの送受信を行うことができません。そこで、JUNETで議論が行われ、その結果、ISO-2022-JPという文字符号化方式が作られ、メール等の送受信でこの文字符号化方式が使われることになりました。現在でも、日本語メールの送受信ではISO-2022-JPを使用します。要するに、メールの場合はISO-2022-JPに変換して送信するのがよい、ということです。Shift_JISやEUC-JPをそのまま送ってはいけません。]バギンズさん、薫さん、ひじさん有り難うございました。皆様からのアドバイスに感謝致します。頂きましたアドバイスを元にして、改善していきます。解らないことができたときは、相談の書き込みをさせて頂きます。これからもよろしくお願いします。