アプリ版:「スタンプのみでお礼する」機能のリリースについて

このカテゴリーで良いのか迷ったのですが、宜しくお願いします。

携帯サイトをつくっておりまして、
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";と表記しております。

A 回答 (3件)

≫因に、下記の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の記述と実際の文字コードを一致させることから始めてください。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

metaで文字コードをEUCにしソースも変えると
→auで文字化け

metaで文字コードをShift_JISにしソースも変えると
→docomoとsoftbankで文字化け

フォーム確認画面で化けてしまいます。

お礼日時:2008/12/25 09:52

≫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">
を加える。

この回答への補足

解決しました。

補足日時:2008/12/27 11:32
    • good
    • 0
この回答へのお礼

ORUKA1951様、度々すみません。
本当に申し訳ないのですが勘違いしておりました。
フォーム前のページに文字化けはあるか、と聞かれているのかと思っていました。
フォームに入った最初のページの事がHTML自体って事だったのですね...。
私が馬鹿なばっかりに申し訳ございません。

もう、本当に本当に申し訳ございません。。
ひとつ前の質問を理解しなおした上で回答させていただきます。


>metaで文字コードをEUCにしソースも変えると
>→auで文字化け
>>これは、HTML自体がですか?それとも処理後のHTML?

●HTML(フォーム1ページ目の入力画面)も、処理後(入力した内容を確認する画面)も化けてしまいます。
※docomoとsoftbankはオールクリアでした。



>metaで文字コードをShift_JISにしソースも変えると
>→docomoとsoftbankで文字化け
>>これは、HTML自体がですか?それとも処理後のHTML?

●HTML(フォーム1ページ目)は3キャリア共化けません。処理後(確認画面)はdocomoとsoftbankで文字化けします。


>そもそも単純なHTMLでの表示は?
フォーム以外のページと言う事でしょうか?それでしたら化けてはおりません。

本当にもうしわけございませんが、お力をお貸しいただけると幸いです。

お礼日時:2008/12/25 16:20

>metaで文字コードをEUCにしソースも変えると


>→auで文字化け

 これは、HTML自体がですか?それとも処理後のHTML?

>metaで文字コードをShift_JISにしソースも変えると
>→docomoとsoftbankで文字化け

 これは、HTML自体がですか?それとも処理後のHTML?

 そもそも単純なHTMLでの表示は?
    • good
    • 0
この回答へのお礼

再回答していただきありがとうございます。
HTML自体は文字化けはしておりません。
フォームに入り、入力もできる状態で確認ボタンを押すと
入力した内容が確認できるのですが、そこで文字化けを起こしてしまってます。
単純なHTMLでの表示で文字化けはしていません。
補足要求の的を得た回答になっていますでしょうか...
素人に毛が生えた程度のスキルですのでご迷惑おかけします。
宜しくお願いします。

お礼日時:2008/12/25 14:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!