[
日本語文字コード
]
[
シフトJISコード表
]
[
EUCコード表
]
[
JISコード表
]
[
JIS X 0201 (1976) to Unicode 文字コード表
]
[
JIS X 0208 (1990) to Unicode 漢字コード表
]
[
JIS X 0212 (1990) to Unicode 補助漢字コード表
]
[
Unicode 特殊文字の一覧表
]
[
シフトJISコード表
]
[
EUCコード表
]
[
JISコード表
]
[
Unicode(UTF-16BE)コード表
]
[
文字コードの16進ダンプ
]
[
HTMLソース日本語文字コードのオンライン変換
]
[
HTTPレスポンスヘッダ,HTMLソースの表示
]
[
URLのエンコード・デコード
]
[
文字種のオンライン変換
]
[
行末(改行)コードの変換( LF --> CRLF )
]
こわーい文字化け
怖いのは、自分で見えない所で発生する文字化けです、例えば、自分の環境で正常で、他の多くの環境で文字化けしていたらどうでしょう、文字化けするのを知らないのは自分ばかりという事になります、 多分そんな馬鹿な?、と言われると思います、それがあるんです、来訪者数の50%とも80%とも占めると言われるGoogleに文字化けで収集されてしまっているケースが、しかも超一流企業でも続々と、多分文字化けで収集されている事に気づいていないのでしょう、 本当にお気の毒としか言いようがありません
まずはその現状を次のリンクより見て下さい、検索結果の件数を見てください、数百万件もの文字化けです
Google文字化け収集サンプル
文字化けで < > を失いHTMLソースを収集
Google文字化け収集サンプル
Shift-jisをEUC-JP やJIS と判断し、変換できない0x81以上の文字を空白で表示
Google文字化け収集サンプル
UTF-8をShift-jisとして収集UTF-8の0xE381はひらかなShift-jisの0xE381は 縺 です
Google文字化け収集サンプル
EUC-JPをShift-jisに解釈し、EUC-JPの漢字の0xa1〜0xdfがカタカナに
Google文字化け収集サンプル
JIS が文字化けしているパターン(確認中)
文字化けしているサイトのURLを下のTOOLで確認して、原因を想定して下さい
HTTPヘッダの確認/HTMLソースの表示
指定URL:
以下、Googleに文字化けが起きる原因を考えます
日本語のホームページはShift-JIS EUC-JP JIS UTF-8 UTF-16LE UTF-16BE 等のコードで書かれています
ソフトがホームページを読み込んだとき、どの文字コードで書かれたHTMLがを判断する必要があります、ブラウザやGoogleロボットはそれぞれにその判断基準をもっています、その基準の違いが上のような結果を生みます、ブラウザ、Googleロボットの両方に正しい判断をしてもらうページである事が重要です
ホームページを読み込んだとき、通常ブラウザでは見えませんがサーバからHTTPヘッダと言うデータが送られて来ます、その中に文字コードが書かれています、1つはサーバがつけたもの(デフォルト)、もうひとつはHTMLのmetaタグのcharsetに指定のものです、いずれも省略される事があります
文字コードの決定要素は次の3点と考え、ブラウザ、Googleロボットの判定の優先順位を予測しました
(a) サーバがつけたもの(デフォルト)
(b) HTMLのmetaタグのcharset=???
(c) HTML内の文字をしらべて決定
(c)についてはこれまた、各ソフトによりその判断基準が分かれるところであります(漢字の先頭1文字で判断するとか)
上記の文字化けサンプルを実際に表示して見た結果、次の表を得ました
パターン
1
2
3
4
5
6
7
8
9
(a)Server
A
B
A
A
B
B
(b)metaタグ
A
B
A
B
A
B
ブラウザ
OK
OK
NG
OK
NG
OK
OK
NG
NG
Google
*1
OK
NG
OK
NG
OK
NG
OK
NG
Aは正しい指定、Bは間違い指定、スペースは指定されていない時です
ブラウザ は Internet Explorer 6.0 です
*1 パターン1(両方指定がない)GoogleはEUC-JP JISの時はNG
パターン7,8 (a)Serverと(b)metaタグに食い違いがある時の挙動が反対です
なかなか少ないパターンもあり、気が付いて修正後、Googleに未反映と判断したりしておりますので必ずしも完全ではないかも知れません
ブラウザはHTMLのmetaタグのcharsetを軽視、Googleロボットはを重視しているという事です
(a)が出力されているサーバのユーザは、metaタグが無かろうが、間違っていようが文字化けしないと思ってしまっても無理も無い事です
問題は(a)です、(a)が無ければ、上記の表は1,2,3の3パターンしかありません
レンタルサーバとかユーザが何のコードを使うかわからない場合は(a)を出力する事はないでしょう
(a)を出力している所は一流企業(自社サーバ)が多いように感じます、何につかうのですかね、社内文字コードの統一にでも?
(a)を出力したからには(a)(b)(c)の統一を徹底することが重要で、ブラウザで文字化けしないからと言ってmetaタグを軽視してはいけません
HTMLのmetaタグの書き方
<meta http-equiv="Content-Type" content="text/html; charset=???">
??? 部分は Shift-JIS EUC-JP ISO-2022-JP UTF-8 UTF-8 UTF-16
x-sjisとかはダメです、" に注意をしてください
Apache の場合の(a)の出力箇所
(送出されていないあるいはcharset= あるいはcharset=none にする)
httpd.confの以下の行を削除あるいは修正
AddDefaultCharset ???
おまけ−−驚異の文字化けサイト
Google文字化け収集サンプル
日本を軽視? 宣伝せんでも売れるからいいっか 何千人の社員がいても気が付かないんですかね
Google文字化け収集サンプル
自分サイトが有名だから、売れるんですかね
Google文字化け収集サンプル
ブラウザでも化けるとおもうのですが?
ご意見・ご要望等、お気付きの点がございましたら連絡ください
フォームメール無料レンタル