はじめての自宅サーバ構築 - Fedora/CentOS -
Last Update 2018/05/30
[ 更新履歴 ] [ サイト マップ ] [ 質問掲示板 ] [ 雑談掲示板 ] [ リンク ]
トップ >> 質問掲示板

 このスレッドはクローズされています。記事の閲覧のみとなります。

 EUCで書かれたCGIを正しく表示するには?
日時: 2007/12/15 22:16
名前: RYO

①不明点・障害内容:EUCで記述されたCGIで出力が文字化けする。
②ログの有無   :
  (有:その内容):
③Distribution  :Fedora
      Version:8
④Service Name  :
      Version:
⑤ネットワーク構成:

 いつもお世話になります。おかげさまで大方のCGIは動くようになりました。
 ところが一つだけ動作はするものの、出力表示が文字化けしてしまうCGIがあります。配布先の説明によれば
サーバの漢字コードはEUCであると決めてかかっており、そのCGIもEUCで書かれているとあります。現在使用中の
BIGLOBEのサーバでは特別意識することなく転送・パーミッションの変更を行っただけで正しく表示されています。
このCGIをFedoraで正常に表示させる方法があるでしょうか?
メンテ

Page:  [1]

■ コンテンツ関連情報

 Re: EUCで書かれたCGIを正しく表示するには? ( No.1 )
日時: 2007/12/16 09:32
名前: 管理者

HTMLの最終的に表示出力する部分はブラウザに委ねられているので、
「自分(CGI)が出力したコードはXXだよ」と宣言してあげなければなりません。

以下が、HTMLソースのヘッダ内のタグになります。

<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=EUC-JP">

このタグの「charset=EUC-JP」部分が該当部分となります。
Perl(CGI)スクリプトの出力部分に存在していない場合は新たに追加して、
誤っている(「charset=Shift_JIS」など)場合は正しいコードにする必要があります。
※:jcode.plなどの日本語コード変換ツールで「Shift_JIS」に統一している場合もあるので注意が必要です。
例) CGIが「EUC」で書かれているが、上記のタグでShift_JISとなっている場合、
  jcode.pl等で文字コード変換(Shift_JIS出力)している場合等
メンテ
 Re: EUCで書かれたCGIを正しく表示するには? ( No.2 )
日時: 2007/12/16 16:44
名前: RYO

 それが、一応CGIとしては動作しているので、出力されたページのソースを見てみると
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=EUC-JP">は正しく記述されています。
でありながら本文はHTMLソースレベルでも文字化けしています。
ということは、CGIをサーバに転送する時の問題ではないかと思っているのですが、どうなんでしょうか?
サーバはFedora8ですから、当然UTF8で動作しているはずです。転送はNextFTPのバイナリモードで、
ホスト漢字コードをEUC,Shift-JIS,UTF8,無変換いずれの設定にしても変りません。
メンテ
 Re: EUCで書かれたCGIを正しく表示するには? ( No.3 )
日時: 2007/12/17 22:14
名前: RYO

自己解決しました。
CGIをもう一度ダウンロードし直して、アーカイブを解凍し、文字コード無変換で
サーバにアップロードしたところ、正常表示されました。レンタルサーバに設置する時に
エディタでいじってあったのが原因だと思われます。
ありがとうございました。
メンテ

Page:  [1]

■ その他

ページ先頭へ

Copyright(©)2004-2018 First home server construction. All Right Reserved.