回答受付が終了しました

サーバーを引越ししてショッピングカートが使えなくなりました。 主にsend.cgi が文字化けします。

サーバーを引越ししてショッピングカートが使えなくなりました。 主にsend.cgi が文字化けします。 jcode.pl を、Jcode.pm に変更し、テラパットでUTF-8で保存できるところは保存しました。 mimew.pl も使えないので、 MIMEEcoEncode.pmをダウンロードしました。 この設置の仕方やフォルダ名をどんなフォルダ名にすればよいか分かりません。 mimew.pl が文字化けの原因かなと思っています。 私の理解不足は重々承知しています。 cgi 初心者なのでどうか宜しくお願い致します。 以下、send.cgiの中身(省略あり) ================================= #!/usr/bin/perl #サーバーに合わせて(/usr/local/bin/perlなどに)設定。 #--初期設定ここから----------------------------------------- #本スクリプト名を指定。 $self = 'send.cgi'; #Jcode.pmへのパス require '../common/Jcode.pm'; #config.plへのパス require '../common/config.pl'; #library.plへのパス require '../common/library.pl'; #souryou.plへのパスを指定。 require '../common/souryou.pl'; #mimew.pl require '../common/mimew.pl'; #基本設定読み込み &config; #地域別送料読み込み。 &souryou; #ショップに届くメールのタイトル $title='注文メール'; #ショップに届くメール文 $top_lines='以下の注文をお受けしました。'; #--初期設定ここまで----------------------------------------- $LENGTH=$ENV{'CONTENT_LENGTH'}; if($LENGTH>"4096"){&error("入力データが大きすぎます");} if($ENV{'REQUEST_METHOD'}eq"POST"){ read(STDIN,$buffer,$ENV{'CONTENT_LENGTH'}); }else { $buffer = $ENV{'QUERY_STRING'}; } @pairs = split(/&/,$buffer); foreach $pair (@pairs) { ($name, $value) = split(/=/, $pair); $name =~ tr/+/ /; $name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; &Jcode'convert(*name,'utf8'); &Jcode'convert(*value,'utf8'); # $value =~ s/&/&amp;/g; # $value =~ s/</&lt;/g; # $value =~ s/>/&gt;/g; # $value =~ s/"/&quot;/g; $value =~ s/,/,/g; $value =~ s/\'/’/g; $value =~ s/\"/”/g; $value =~ s/\r\n//g;#改行は削除(2003/10/30) $value =~ s/\r//g; $value =~ s/\n//g; $in{$name} = $value; } #商品記録ファイルを設定 (省略) #------------------ # 最終確認画面表示 #------------------ (省略) #送料処理 (省略) #------------------- #コンビニ手数料処理 #------------------- #------------------ # ログファイル更新 #------------------ (省略) #------------------------ # メール送信サブルーチン #------------------------ (省略) #商品リスト作成--ここまで-- &get_date; $order_id="$year$w_mon$w_mday$hour$min$sec"."$$"; $order_date="$year\/$w_mon\/$w_mday ($hour:$min)"; $order_no=$w_mday.$hour.$min.$sec.$$; $title = &mimeencode($title); #メール送信リストの改行処理(2004/01/07) $list =~ s/<>/\n/g; chop $list; $mailhead1 = <<END; To: $mailto From: $email Subject: $title Content-Type: text/plain; charset=UTF-8 END $mailbody = <<END; ------------------------------------------------------------ 受付日時:[$order_date] 注文番号:[$order_no] ------------------------------------------------------------ ■お買い上げ商品 ============================================================ $list ------------------------------------------------------------ ■小計:$subtotal円 ■送料:$souryou円 ■お支払い合計:$total円 ============================================================ END &Jcode'convert(*mailhead1,'utf-8'); &Jcode'convert(*top_lines,'utf-8'); &Jcode'convert(*mailbody,'utf-8'); #送信 (省略) #---------------- # 確認メール送信 #---------------- sub sendmail2 { $from="$sender<$mailto>"; $from = &mimeencode($from); $subject = &mimeencode($subject); $mailhead4 = <<END; To: $email From: $from Subject: $subject Content-Type: text/plain; charset=UTF-8 END &Jcode'convert(*thanks1,'utf-8'); &Jcode'convert(*thanks2,'utf-8'); (省略) ================================== 1週間は調べて改善に挑んでいますがなかなかできずです・・・(TT)

プログラミング2閲覧xmlns="http://www.w3.org/2000/svg">500

回答(1件)

0

エラーメッセージやアクセスログには、何かはかれていますか? 新しいサーバに合わせて、パスとか変えてますか? ↓こことか。 #!/usr/bin/perl