このカテゴリーで良いのか迷ったのですが、宜しくお願いします。
携帯サイトをつくっておりまして、
SSLのフォームをつくってみたのですが
入力を終えて、確認ボタンをクリックし
確認画面へ移ると、docomoとsoftbankで文字化けを起こしてしまいます。(auはOKでした)
dreamweaverCS3を使用しており、エンコーディングもShift_JISへ変更しております。
因に、下記のmeta表記にしましたところ、docomoとsoftbankで文字化けはございませんでしたが、
auでは確認画面どころか、入力フォームのページまで文字化けしてしまいました。
<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
<meta http-equiv="Content-Style-Type" content="text/css">
何が原因なのでしょうか...。
どなたかお分かりになる方、お助け下さい。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<body>
<form method="post" action="/www.△△△△△.jp/freecgi/○○○○○/index.cgi">
<!-- ============================== 各種設定 ============================== -->
<!-- システム設定-->
<input type="hidden" name="_profile_" value="XXXXXXXX">
<!-- 共通設定 (確認画面/完了画面) -->
<input type="hidden" name="_css_url_" value="/www.△△△△△.jp/○○○○○/○○○○○/default.css">
default.cssの最初には
@charset "Shift_JIS";と表記しております。
No.1ベストアンサー
- 回答日時:
≫因に、下記のmeta表記にしましたところ、docomoとsoftbankで文字化けはございませんでしたが、
意味は理解されてますか??
metaで文字コードをEUCにすれば、当然ソースもEUCでなきゃダメですし、Shift_JISにすれば、それにする。
CGIは、文字化け(違う理由による)や文字の処理の混乱を防ぐためEUCで記述することが望ましいのですが、そのためには入力された内容をEUCに変換しないとなりません。当然、そのままでHTMLを出力すれば、その(CGIから出力される)HTMLの文字セットはEUCになりますから、そのHTMLのmetaはEUCにするか、Shift_JISに変換してHTMLを書き出すか・・・
CSSはHTMLにもCSSにも指定が無ければ、現在の文字コードが適用されるはずですが、内部に日本語(たとえばMS 明朝とか)が無ければ、表示の文字化けには影響ないでしょう。配置は崩れる可能性があります。
いずれにしろ、metaの記述と実際の文字コードを一致させることから始めてください。
回答ありがとうございます。
metaで文字コードをEUCにしソースも変えると
→auで文字化け
metaで文字コードをShift_JISにしソースも変えると
→docomoとsoftbankで文字化け
フォーム確認画面で化けてしまいます。
No.3
- 回答日時:
≫HTML自体は文字化けはしておりません。
≫フォームに入り、入力もできる状態で確認ボタンを押すと
≫入力した内容が確認できるのですが、そこで文字化けを起こしてしまってます。
CGIから出力されるHTMLにおいて、そのHTMLに使用されている文字コードと、そのブラウザが判断した文字コードの差が原因でしょう。
CGIから出力されるHTMLに文字コードの指定が無い場合、HTTPサーバーの応答ヘッダを使用するか、Shift_JISとして処理するか、あるいはリンク元のHTMLの文字コードを使うかはブラウザの実装によってことなります。
【対策】
最初のHTMLは文字化けしないのでしたら、CGIの処理を考えてEUCで統一したほうが楽でしょう。
★ 最初のHTMLもEUCで記述する。
★ そきにへのリンクにて、
<form action="AAA.cgi" method="post" accept-charset="euc-jp">とする。
★CGIもEUCで記述する。
この場合、内部処理でもeucに変換して処理が行われているか確認しておくこと。
★HTTP応答ヘッダに
print: Content-Type: text/html; charset=euc-jp;
を加えること。
★出力されるHTMLの<head></head>内に
<meta http-equiv="content-type" content="text/html; charset=euc-jp">
を加える。
ORUKA1951様、度々すみません。
本当に申し訳ないのですが勘違いしておりました。
フォーム前のページに文字化けはあるか、と聞かれているのかと思っていました。
フォームに入った最初のページの事がHTML自体って事だったのですね...。
私が馬鹿なばっかりに申し訳ございません。
もう、本当に本当に申し訳ございません。。
ひとつ前の質問を理解しなおした上で回答させていただきます。
>metaで文字コードをEUCにしソースも変えると
>→auで文字化け
>>これは、HTML自体がですか?それとも処理後のHTML?
●HTML(フォーム1ページ目の入力画面)も、処理後(入力した内容を確認する画面)も化けてしまいます。
※docomoとsoftbankはオールクリアでした。
>metaで文字コードをShift_JISにしソースも変えると
>→docomoとsoftbankで文字化け
>>これは、HTML自体がですか?それとも処理後のHTML?
●HTML(フォーム1ページ目)は3キャリア共化けません。処理後(確認画面)はdocomoとsoftbankで文字化けします。
>そもそも単純なHTMLでの表示は?
フォーム以外のページと言う事でしょうか?それでしたら化けてはおりません。
本当にもうしわけございませんが、お力をお貸しいただけると幸いです。
No.2
- 回答日時:
>metaで文字コードをEUCにしソースも変えると
>→auで文字化け
これは、HTML自体がですか?それとも処理後のHTML?
>metaで文字コードをShift_JISにしソースも変えると
>→docomoとsoftbankで文字化け
これは、HTML自体がですか?それとも処理後のHTML?
そもそも単純なHTMLでの表示は?
再回答していただきありがとうございます。
HTML自体は文字化けはしておりません。
フォームに入り、入力もできる状態で確認ボタンを押すと
入力した内容が確認できるのですが、そこで文字化けを起こしてしまってます。
単純なHTMLでの表示で文字化けはしていません。
補足要求の的を得た回答になっていますでしょうか...
素人に毛が生えた程度のスキルですのでご迷惑おかけします。
宜しくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- PHP php ログイン 1 2022/11/01 00:24
- HTML・CSS <!DOCTYPE html> <html> <head> <meta charset="utf-8 2 2023/01/05 01:04
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
<!DOCTYPE html>あってますか?↑
-
POSTしたデータの文字コードがu...
-
Duolingo のソースコードの名前...
-
body内にmetaタグを記述は問題...
-
safariにcssが反映されなくて困...
-
text-decorationを伸ばす方法
-
iframe内の表示を常に最新にしたい
-
safariだけcssが反映されない
-
COLDFUSIONの文字化け
-
日本語が下記のように文字化け...
-
css ,videotタグ。ホームページ...
-
<META>文字コードと入力場所に...
-
html で 変数を定義できますか?
-
文字化けを故意に表示したい
-
WebのPythonでの値の受け渡し
-
HTMLソースにない文字がブラウ...
-
短縮URL作成
-
HTMLファイルのインクルードで...
-
HTML5での http-equiv="refresh...
-
IE操作時、metaタグ自動転送前...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
css ,videotタグ。ホームページ...
-
POSTしたデータの文字コードがu...
-
Duolingo のソースコードの名前...
-
body内にmetaタグを記述は問題...
-
iframe内の表示を常に最新にしたい
-
ページ全体を中央に配置したい...
-
HTML上に貼り付けたPDFが表示さ...
-
HTMLソースにない文字がブラウ...
-
HTMLファイルのインクルードで...
-
Google検索でサイト説明文が文...
-
文字化けを故意に表示したい
-
自分で<head>内をかけない場合...
-
FFFTPでの文字化け
-
根号の書き方について
-
表示時に1回だけリロードさせ...
-
リンクボタンにgifアニメを使え...
-
COLDFUSIONの文字化け
-
HTMLでwebサイトを作ってるので...
-
Content-Typeの大文字
-
borderでa:hover下線表示させる...
おすすめ情報