お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2010-09-20 20:28:59

taku_s
メンバ
登録日: 2008-12-14

perl CGIの文字化け

お世話になります。
geditで、perl CGIを組んでいますが、文字化けして困っています。

Ubuntuは、UTF-8が標準の文字コードだと思いますが、CGIの場合はEUCで書けば良いとの
記事を読んだことがあります。
ただ、geditの場合、文字コードを指定することはできないんでしょうか?

その場合、どのように対処したら良いでしょうか?

よろしく、お願いいたします。

オフライン

 

#2 2010-09-20 21:09:54

zagan
メンバ
登録日: 2008-08-12

Re: perl CGIの文字化け

geditでスクリプトを書いたら、「ファイル」->「別名で保存」->「文字エンコーディング」のプルダウンメニュー「追加と削除」で「日本語-EUC-JP」を追加。

オフライン

 

#3 2010-09-21 06:48:42

ry
メンバ
登録日: 2008-07-30

Re: perl CGIの文字化け

taku_s さんの投稿 (#1):

お世話になります。
geditで、perl CGIを組んでいますが、文字化けして困っています。

最終的に出力される HTML で HTTP ヘッダと HTML ヘッダのそれぞれの Content-Type に、その HTML で使用している文字コードを記述してください
文字コード自体は、UTF-8 だろうが EUC だろうが S-JIS だろうが何でも構いませんが、Content-Type に書いた文字コードの種類と、実際に使用していた文字コードは一致していないといけません

オフライン

 

#4 2010-09-21 09:06:29

weyk
メンバ
登録日: 2009-04-03

Re: perl CGIの文字化け

Ubuntuは、UTF-8が標準の文字コードだと思いますが、CGIの場合はEUCで書けば良いとの
記事を読んだことがあります。

なぜ、EUCが良いのかも、しっかり確認した方が良いですよ。特定の条件の場合だったり、単に情報が古かったりという可能性もあります(Web上の情報を利用する場合は、その辺を自身で判断する必要があります。)
選択する文字コード(キャラクターエンコード)ごとに、メリットとデメリットがあり、特に、言語本体がキャラクターエンコードを認識して居ない場合、それが顕著になります。
# 言語本体がキャラクターエンコードを認識できる場合は、単に正しく指定してあげるだけでOKです。

オフライン

 

#5 2010-09-21 18:52:58

taku_s
メンバ
登録日: 2008-12-14

Re: perl CGIの文字化け

zaganさま
あ、ここで文字コードはここで指定できたんですね。
ありがとう、ございました。

ryさま weykさま
ご指導いただきありがとうございました。勉強になりました。

今回は、geditで書いて、端末で実行したっ段階で、文字化けしてしまったので
どこが原因かまったく分かりませんでした。
とりあえず、zaganさまに教えていただいた方法で、UFT-8を指定すると
端末での文字化けは解消できました。

オフライン

 

Board footer

Powered by FluxBB