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

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

 cgiの文字化けのこと
日時: 2006/12/27 12:58
名前: とんとん

こんにちは。

FedraCore5です、またお邪魔いたします。
以前cgi設置でいろいろお聞きいたしましてその重複になってしまうかも知れませんが。

cgiのブラウザでの文字化けについてお聞きいたします。
cgiを正常にブラウザで表示させるためにはスクリプトの文字コード、apacheの文字コードが合っていないと
ブラウザ側で文字化けの要因になると思いますがapacheの文字コードは下記のように UTF-8でよいのでしょうか?

AddDefault Charset UTF-8

たとえばフリーのcgiスクリプトを使う場合にそのスクリプトの文字コードがシフトJISであれば

apache側をAddDefault Charset UTF-8→AddDefault Charset SHIFT-JISに変更する。

あるいはTeraPadなどで文字コード指定再読み込みにてスクリプトの文字コードをUTF-8にて保存する。

このようにすれば文字化けはなくなるのでしょうか?
文字コードのことがよく理解できずこのような質問の仕方しか出来ませんがよろしくお願いします。
メンテ

Page:  [1]

■ コンテンツ関連情報

 Re: cgiの文字化けのこと ( No.1 )
日時: 2006/12/27 15:42
名前: 管理者

> cgiを正常にブラウザで表示させるためにはスクリプトの文字コード、apacheの文字コードが合っていないと
> ブラウザ側で文字化けの要因になると思いますがapacheの文字コードは下記のように UTF-8でよいのでしょうか?

> AddDefault Charset UTF-8


「AddDefaultCharset」は、apacheがコンテントタイプ「text/plain」または「text/html」で返却する際のデフォルト値となります。
システムコードが「UTF-8」で、スクリプト等も「UTF-8」で同一であれば文字化けは起こりませんが、
スクリプト内でメタタグ(以下)「Content-Type」で違う文字コードを指定した場合は文字化けが起こります。
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">

例えば、システムコードが「EUC」でスクリプトの出力時に上記のメタを出力した場合。
(jcode.plなどで、コード変換をしなかった場合に限る。)


当サイトでのapache構築紹介ページでは、この「AddDefaultCharset」は「Off」を設定する様にしています。
特に、「Off」にする必要はないのですが文字化けを起こさない様にするには、スクリプトによる出力文字コードに合わせて
メタタグの「charset」を適切にする事により解消可能です。

厳密に言えば「AddDefaultCharset」は特に気にする必要はなく、スクリプト出力にメタタグを追加する事となります。
メンテ
 Re: cgiの文字化けのこと ( No.2 )
日時: 2006/12/27 18:51
名前: とんとん

ありがとうございました。

よく分かりました。
メンテ

Page:  [1]

■ その他

ページ先頭へ

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