- ベストアンサー
CGIの予約状況システムについて
- SSIを利用したCGIの予約状況システムの導入について困っています。文字化けの問題が発生しており、解決策を教えていただける方を探しています。
- CGIの予約状況システムをSSiを利用して導入しようとしていますが、文字化けの問題が発生しています。解決策が分からず困っています。助けていただける方を探しています。
- CGIの予約状況システムを利用する際に、文字化けの問題が発生しています。正常に表示されるようにするための方法を教えていただける方を探しています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
URLのリンクから設置マニュアルを読んだのですが 質問者さんが公開しているサーバのOSは何になりますか? 不明な場合は、今まで普通のhtml等を公開する場合は 文字コードの設定はどのようにしていましたか? もしサーバがWindowsである場合や、 UNIX等であってもEUC以外の文字コード設定であれば CGIモジュール(yoyaku.cgi)をそのまま利用することはできません。 特にuni-codeだと、非対応のようです。 サーバOSの設定がShift-JISならば、 次の対応でおそらく実行可能だと思われます。 1.yoyaku.cgiの下記の部分を変更 ======================================= # OSの文字コード (euc / sjis) $os_code = 'euc'; ##変更前 ↓ $os_code = 'sjis'; ##変更後 ====================================== 2.サーバ転送時は全ファイル無変換、アスキーモードとする
その他の回答 (1)
- mako_sea
- ベストアンサー率47% (62/130)
No1の回答をしたものですが、誤解がありましたようです。 申し訳ありませんが訂正させていただきます。 サーバ側の文字コードがどのようであっても、 次の設定変更をしてEUCコードでファイル転送すれば 表示可能となると思います。 # 出力コード (euc / sjis) $output_code = 'sjis'; ↓ $output_code = 'euc'; OSがShift-JISであればファイルをShift-JISにすれば 文字化け解消と簡単に思っていましたが、 perlのスクリプトはperl本体のバージョン等の問題で Shift-JISの特定文字列に文字化けが起こることがあるようです。 (WinXP ActivePerl5.10 + apache2.2で検証) なのでこのCGIの作者は、EUC固定を想定してプログラム作成したのでしょう。 短慮の回答を重ねてお詫びします。
お礼
わざわざご丁寧にありがとうございました。 ひとまず、$output_code = 'sjis';→$output_code = 'euc';に直し、それでも駄目でしたが、 始めのご回答を参考に色々と見直し、htmlの設定を見落としていることに気がつきました; <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> から <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" /> へと変更した結果、文字化けが回避できました!!! 本当にありがとうございました!! 本当に助かりました!!!!