人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Perlで作ったフォームで、全角文字が全て文字化けしてしまうのは、
どのような理由がありますでしょうか?

●質問者: tetlis
●カテゴリ:インターネット ウェブ制作
✍キーワード:Perl 文字化け
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● pahoo
●27ポイント

HTMLタグでキャラクタセットを指定していますか?


日本語(全角文字)であれば、

<html lang="ja">
<meta http-equiv="Content-Type" content="text/html; charset=****" />

"****" に適切なキャラクタセット(例:utf-8)をセットする必要があります。

なお、キャラクタセットは、perlソースと同じ文字コードにするのが一般的です。


2 ● hirotow
●27ポイント

ファイルの文字コードと指定されている文字コードが一致していないからです。

エディタで文字コードを指定して保存(通常指定しなければShiftJISになっています。)し、

それにあわせてメタタグかHTTPヘッダで文字コードを指定します。

メタタグ:<meta http-equiv="content-type" content="text/html;charset=Shift_JIS" />

ヘッダ:Content-type:text/html;charset=Shift_JIS


3 ● cabeliau
●26ポイント

恐らく文字エンコードの指定が無いのかもしれませんね。

ご自身で作成されたPerlのサブルーチンの頭に、以下一文を足して頂くと案外簡単に解消します。

下記一文は、フォームページから既に挿入する必要があります。


↓<<サブルーチン>>

sub main {

print "Content-type:text/html; charset=Shift_JIS\n\n"; ←追加(文字コードをシフトJISにする)。

print <<"EOF";

<html>

<head>

<title></title>

</head>

<body>

HTMLの内容

</body>

</html>

EOF

exit;

}

それ以外の方法として、jcode.plを使ったエンコード方法があります。

【参考URL】

ミスティネット http://perl.misty.ne.jp/14.html

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ