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

PHPでHPを作成し、IEで確認すると、
レイアウトもくずれて文字化けもします。
IEのエンコードの設定を確認すると日本語(EUC)になっていました。
そこでエンコードの設定を日本語(シフトJIS)に変更すると正常に表示されました。
IEの設定を変更することなく、正常に表示できるようにするにはどうしたらよいのでしょうか。
検索で調べて、以下の1行を追加してみましたが、変わりませんでした。
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
どなたかアドバイスお願い致します。

A 回答 (3件)

まずは作ったPHPの「ファイルの文字コード」を確認しましょう。


そして「PHP(HTML)内で指定している文字コード」と「サーバの文字コード」を確認しましょう。
多分全てバラバラになっていると思います。

サーバはEUCなのかな?と思うので全部EUCにしてみましょう。
まず文字コードを指定して保存できるエディタを使ってください。
(フリーのがよければ窓の杜やベクターで探してみてください)
使っている場合はファイルを保存するときに文字コード「EUC」を指定して保存してください。
FTP送信のときも念のため文字コード「EUC」指定で送信してください。

そしてメタタグはこれ↓ではUTF-8になってしまうので
><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
charset=euc-jp
にしてください。

とりあえず、全部指定を統一しましょう。
機械側は別々の指定をいっぺんに受けて混乱してるのです。
    • good
    • 0
この回答へのお礼

>サーバはEUCなのかな?と思うので全部EUCにしてみましょう。
>まず文字コードを指定して保存できるエディタを使ってください。
>(フリーのがよければ窓の杜やベクターで探してみてください)
>使っている場合はファイルを保存するときに文字コード「EUC」を指定>して保存してください。

→これはどういうことでしょうか。現在はDreamweaverでPHPを作成していますが、このままDreamweaverで作成していればいいのでしょうか。

>FTP送信のときも念のため文字コード「EUC」指定で送信してください。

→文字コード「EUC」指定で送信に変更いたしました。

>そしてメタタグはこれ↓ではUTF-8になってしまうので
>><meta http-equiv="Content-Type" content="text/html; >charset=utf-8">
>charset=euc-jp
>にしてください。

→charset=euc-jpに変更致しました。

再度FTPでアップロード後確認しましたが、
同じようにレアアウトが崩れ文字化けしてしまいます。
どうすればよいのでしょうか。

お礼日時:2007/08/17 13:16

Ano2の続きです。



DreamWeaverをお使いならば「環境設定」を確認してみてください。
バージョンが違うと場所も違うかもしれませんが
[編集]-[環境設定]で立ち上がるかと思います。
ここで[新規ドキュメント]の[エンコーディング初期設定]は何になっているでしょうか?

日本語(シフトJIS)ならば全てをシフトJISで作成してください。
(FTPもSJISのまま無変換、charsetもSJISで←ただしDWで設定した場合はcharsetは自動で設定されます)
日本語(EUC)ならば全てをEUCで作成してください。

もし先ほどの私の(少し余計な)回答で色々な部分をEUCに変更済みの場合はここをEUCにしてみてください。
次から作成するファイルはEUCになります。

そしてもうすでに作成したファイルをEUCにする方法は
DreamWeaverでファイルを開いた後
[修正]-[ページプロパティ]でエンコーディングをEUCにすればOKです。

これを全てSJISの方で行えば(FTPも無変換でSJISのまま送信)SJISで表示されるはずです。
DWの場合はサイトの設定をすればそのままFTPでサーバに送信もできますね。
サイトの文字コードは一環している方が好ましいです。
どの文字コードを利用するかは好みにもよると思います。
(今回はEUCとブラウザに判別されていたようなのでEUCで統一する方法を書いていますが)

そしてPHPなどでは<HTML>が記述される前に
yambejpさまが回答されているように
header("Content-Type: text/html;charset=EUC-JP");
(EUC-JP部分はShift_JIS,utf-8等場合に応じて変更)
を記述されるといいと思います。
    • good
    • 0
この回答へのお礼

>DreamWeaverをお使いならば「環境設定」を確認してみてください。
>バージョンが違うと場所も違うかもしれませんが
>[編集]-[環境設定]で立ち上がるかと思います。
>ここで[新規ドキュメント]の[エンコーディング初期設定]は何になっ>ているでしょうか?

>日本語(シフトJIS)ならば全てをシフトJISで作成してください。
>(FTPもSJISのまま無変換、charsetもSJISで←ただしDWで設定した場>合はcharsetは自動で設定されます)
>日本語(EUC)ならば全てをEUCで作成してください。

>もし先ほどの私の(少し余計な)回答で色々な部分をEUCに変更済みの>場合はここをEUCにしてみてください。
>次から作成するファイルはEUCになります。

[編集]-[環境設定]で日本語(EUC)に変更して再作成したら
問題なく表示できました。ありがとうございました。

ソースでエンコードを指定してやると、ブラウザ側で指定したエンコードで表示しようとするのですね。初めて知りました。
勉強になりました。ありがとうございました。

お礼日時:2007/08/17 15:14

headerを指定するとよいでしょう


headerはすべてのprint文より先に書く必要がありますのでご注意下さい

<?PHP
header("Content-Type:text/html;charset=SJIS");
print "ほげほげ";
?>
    • good
    • 0
この回答へのお礼

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

<?PHP
header("Content-Type:text/html;charset=SJIS");
print "ほげほげ";
?>

PHPを使わないところでも文字化けをしてしまいます。
その部分はどうしたらいいのでしょうか。

お礼日時:2007/08/17 12:52

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