HTMLページで文字化けした場合の対処 (エスケープが必要な文字) |
表示 や 可能性 などをスクリプトから書き出した場合、 侮ヲ など意味不明な文字に
なってしまいますが、これは シフトJIS の該当文字コードの2バイト目が \ 記号と同じ
コードになっている為で、回避するには該当の文字の後に \記号 を付けます。
なお、これはシフトJIS の場合に発生するもので、EUC の場合は文字化けしません。
【文字化けする例】
【文字化けを解消した例】
文字化けするものは意外に多くあり、漢字意外に全角カタカナも文字化けするものがあります。
例えば ソフト など表示した場合の ソ も文字化けしますので \ でエスケープします。
|
HTMLページで文字化けした場合の対処 (文字コードの指定がない場合) |
HTMLページを表示する際に文字コードの指定をしていない場合、先頭付近に日本語があれば
ブラウザ側で適切な文字コードで表示される場合もありますが、ページ表示の際に指定すれば
常に正しい文字コードで表示されます。
例えば下の例で、<META〜 で指定している部分が文字コードの指定で、これが無い場合は
別の文字コードとして認識してしまい、文字化けが発生する事があります。
上記の場合で文字コードを指定していなくても正しく表示される場合は、一度ブラウザ側で
EUCなどの文字コードにしてから再読み込みを行ってみて下さい。
文字コードを指定している場合は、通常に読み込んでも、再読み込みしても正常に表示され
ますが、文字コードを指定していない場合、EUCのページから飛んできた場合などには、
正常な文字コードが選択されず文字化けします。
|
HTMLページで文字化けした場合の対処 (意味のある文字を出力する場合) |
変数や配列を表す記号を表示したい場合も \記号でエスケープが必要です。
例えば下の例では $記号を使っていますので、それをエスケープしています。
エスケープしない場合、変数の内容が表示され、何も入っていない場合は何も表示されません。
|
HTMLページで文字化けした場合の対処 (書き込まれた文字コードによるもの) |
ファイルをアップロードする機能があったり、書き込みする機能がある場合、表示する際に
使用する文字コードとは違う文字コードである可能性がありますので、それらを記録する前
に文字コードの変換を行っておくと正しく表示できます。
文字コードの変換については以下のページをご参照下さい。
【参照】 jcode.pl を使って文字コードの変換を行う
|
|
|
関連項目
・ CGIの作成に関する用語
・ CGI作成に関するFAQ
|