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

このページは表示専用です。新規投稿・レスや最新情報はこちらです。

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

 CGI表示の文字化け解消方法を教えてください
日時: 2009/02/09 00:53
名前: アドベンチャー

FEDORA10にて、winSCPにてCGIをアップロードしています。
過去スレッドにてCGI(掲示板)は、EUCに変換してバイナリで転送で、CGIは動作出来ました。
ところが、WINDOWSにて文字化け表示されてしまいます。
Shift_JIS表示(自動表示ではないのですが・・・)になっているため。
もちろん、EUCにて表示すれば、文字化けは起こりません。

etc/sysconfig/i18nは
LANG="ja_JP.UTF-8"
が返ってきます。

なおCGIの全てのプログラムの中では、文字コード設定箇所はありませんでした。

CGIが、文字化けを起こさず表示する方法を教えてください。

足りない情報があれば追記します。
よろしくお願いしますm(__)m

余談ですが、
etc/sysconfig/i18n
LANG="ja_JP.UTF-8"の部分を、LANG="ja_JP.eucJP"にしたら、
システム→管理→サービスの内容が、文字化けしてしまいます。
以後、UTF-8に戻しても、文字化け解消できませんでした。

■ コンテンツ関連情報

 Re: CGI表示の文字化け解消方法を教えてください ( No.1 )
日時: 2009/02/09 12:20
名前: ken@CentOS

CGIファイル自体の文字コードは?

テキストエディタ等で確認してください。
 Re: CGI表示の文字化け解消方法を教えてください ( No.2 )
日時: 2009/02/09 15:42
名前: アドベンチャー

憶測で申し訳ありませんが、元々(KENT WEBさんから、ダウンロードした)のファイルはSHIFT_JISだと思います。

変換後は、EUCだと思います。
もしかして、ここから再度SHIFT-JISに変換すれば出来るということなのかな??

テキスト・エディッタのどこに文字コードを確認するところがあるのでしょうか?
 Re: CGI表示の文字化け解消方法を教えてください ( No.3 )
日時: 2009/02/09 17:08
名前: ken@CentOS

私が使用しているのはTeraPadです。
http://www5f.biglobe.ne.jp/~t-susumu/library/tpad.html

これだとファイル 文字コード指定再読込 から変更できます

 Re: CGI表示の文字化け解消方法を教えてください ( No.4 )
日時: 2009/02/09 17:18
名前: 管理者

> 憶測で申し訳ありませんが、元々(KENT WEBさんから、ダウンロードした)のファイルはSHIFT_JISだと思います。
注意点が一つあります。
スクリプトを「EUC」で保存した後、クライアントでブラウズした時に文字化けする理由は他の要因もあります。
HTMLのヘッダの「charset」を「EUC-JP」に変更して下さい。(下記参照)

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


スクリプトをサーバのロケール(EUC)に合わせ、クライアントブラウザに「EUCですよ」って教えてあげないと文字化けが起きる場合が多々あります。
 Re: CGI表示の文字化け解消方法を教えてください ( No.5 )
日時: 2009/02/09 19:06
名前: アドベンチャー

ken@CentOS様へ
僕もTERA PADを使用しています。
ダウンロードした文字コードは、SHIFT-JISでした。
転送後は、インターネットエクスプローラより、EUCであると確認できます。

管理者様へ
HTMLは、EUCになっています。
CGIは、インターネットエクスプローラで見ると、SHIFT-JISモードになっていて、文字化けしています。
これをEUCモードに切り替える方法はあるのでしょうか?
もしくは、CGIをSHIFT-JISにする方法なのでしょうか?
 Re: CGI表示の文字化け解消方法を教えてください ( No.6 )
日時: 2009/02/09 19:10
名前: アドベンチャー

追記

CGIのソース表示を確認したところ、SHIFT-JISになっています。
これが、どうしてSHIFT-JISになっいるのかが、わからなのですが<(`^´)>
CGIの中に、そういう設定をする箇所があるのか、探してみます。
 Re: CGI表示の文字化け解消方法を教えてください ( No.7 )
日時: 2009/02/09 19:42
名前: アドベンチャー

CGIの奥深く(十数個あるファイルのうちの一つ)に、設定箇所、HTMLヘッダーの部分にcharsetがありました。
見事にSHIFT-JISになっていました。
EUCに変更したら、文字化けなくなりました。
すっきりいたしました。
誠にありがとうございますm(__)m

追加で知識を増やしたいのですが・・・
今までinfoseekのHPスペースで、CGIを動かしていました。
そこでは、FFFTPクライアントでファイルをアップしていました。
そこで、SHIFT-JISのCGIのまま、動きました。
今回の様に、EUCに変換して、ファイルアップするのは、サーバー側の違いは何でしょうか?
サーバー側だけの問題だけでないのでしょうか?

CGIを動かすにも、いちいちEUCのコードに変換するのも手間がかかるので、良い方法はないかなぁと。
SHIFT-JISのままファイルがアップ出来たら、楽だと思いますので。
そういう方法もあれば教えてください<m(__)m>
 Re: CGI表示の文字化け解消方法を教えてください ( No.8 )
日時: 2009/02/09 21:33
名前: アドベンチャー

追記

文字化けしなくなった、掲示板に書きこんだら、
書きこんだ内容が、文字化けします。
ここまで来ると、CGIの勉強になってきますね。
書き込み用の文字コードもEUCにしないといけないのは、高度過ぎます。
どこをいじっていいかわかりません。
けども諦めたくもありません。

報告までに
 Re: CGI表示の文字化け解消方法を教えてください ( No.9 )
日時: 2009/02/09 21:37
名前: アドベンチャー

CGIのプログラムの中にこういうのがあるんですが

   # シフトJISコード変換
   &jcode'convert(*val, "sjis", "", "z");

これをいじれば、書きこんだ内容もEUCになるのでしょうか?
どういじれば、良いのかも教えてください。
 Re: CGI表示の文字化け解消方法を教えてください ( No.10 )
日時: 2009/02/10 06:08
名前: 管理者

>   # シフトJISコード変換
>   &jcode'convert(*val, "sjis", "", "z");


EUCにコンバートしたい場合は以下の様に変更します。
パラメータが少なくなりますが問題ありません。
(ちなみに当該掲示板で動作しています。)

&jcode'convert(*val, "euc");
 Re: CGI表示の文字化け解消方法を教えてください ( No.11 )
日時: 2009/02/10 12:32
名前: アドベンチャー

CGIの中の
HTMLヘッダー設定部分の「SHIFT-JIS」→「EUC-JP」の変更
   <META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=EUC-JP">


jcodeコンバート部分の「"sjis", "", "z"」→「"euc"」に変更
   # シフトJISコード変換
   &jcode'convert(*val, "euc");

これで解決いたしました。
変更箇所を探すのに苦労しますので、文字で検索かけると辿りつけます。
例 「jis」

CGIブログラムのファイル全てには、jisが含まれていないようです。
今回は特定の1つのファイルに存在していました。
こういうことも考えるとEUC版のCGIプログラムも必要になってきますね。
少し変えるだけなんですけどね。

どうもありがとうございました。
管理者様、運営に感謝いたしますm(__)m
 Re: CGI表示の文字化け解消方法を教えてください ( No.12 )
日時: 2009/02/10 17:52
名前: 管理者

解決して何よりです。

これから構築、頑張ってください。

■ その他

ページ先頭へ


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