Webブラウザーによる文字コード判定の失敗事例集

Webブラウザーによる文字コード判定の失敗事例集

[22] Webにおける文字コード複雑怪奇であり、 Webブラウザー文字コードの判定に失敗することがよくあります。

[23] 本記事はそうした事例に遭遇したときに報告する場所です。

[24] 事例報告以外は、 Webにおける文字コード, 文字コード指定メニュー, charset sniffing など参照。

Web ブラウザーの文字コード自動判定が失敗したもの

[21] Webブラウザー文字コードの判定が失敗した事例集です。

HTML (text/html)

[1] TX-NA906X(N) ( 版) http://www.jp.onkyo.com/product/txna906x/

Sniffed as Windows-1252, but it is Shift_JIS in fact.

[2] 地名☆京都の地名と通り☆京都観光まるごと案内☆ ( 版) http://www.sames-sab.net/38-timei.html

シフトJIS ながら、 Windows-1252 と判定されます。 Gecko でも一瞬化けて表示されますが、 すぐに再読み込みされてシフトJIS として処理されます。 HTTP charsetmeta charset とも指定されていません。

[3]

ChromeEUC なのにシフトJIS と誤判定されました。

[5] Big5 with no character encoding declarations at all.

>>6's 「つながり」 page - The frameset page is encoded in UTF-8, where the inner page is encoded in Shift JIS without charset parameter. (misinterpreted as UTF-8 by Chrome)

[7] http://www1.odn.ne.jp/akari-design/index.html/taiken2006.htm Firefox: 初見だと一瞬化けて表示されたのち、正しくなった

[8] >>7 404

[9] 沼津市内観光に関するお願い () http://www.lovelive-anime.jp/uranohoshi/sp/news01.html

Chrome ではシフトJIS判定されて読めない、Firefox では UTF-8 となり読める。

(HTTPヘッダーにもHTML文書にも文字符号化宣言なし。)

[10] �����ҵİ��ó�ư���, http://www.masaichi.net/yoriko/archives/report/

HTTPヘッダーtext/html; charset=UTF-8HTML<meta http-equiv="Content-Type" content="text/html;charset=euc-jp" />。 実際は EUC-JP。 おそらく昔は HTTPヘッダーがなかったのが、 サーバーの更新で charset=utf-8 が付くようになってしまったのだろう。

Firefox では手動で文字コードを変更して表示できるが、 Chrome にはそういうメニューがないので表示する手段がない。

[14] 文字コード変更メニューにも事例あり。

[15] 擬史能登伝, http://geo.d51498.com/CollegeLife-Labo/6989/GishiNotoDen.htm

charset 指定なし。 Firefox では windows-1252 判定されるが Shift_JIS が正しい文字コード変更メニューがなくなったので正す方法がない。

[16] >>15 UTF-8 が正しい。

[19] >>17FirefoxWindows-1252ChromeShift_JIS (日本語環境で閲覧しているからか) と誤認されてしまいます。

[20] >>17HTTP charset がありませんが、 meta charsetUTF-8 と明示されています。それなのに誤認されてしまうのは、 おそらく Internet Archive が自動挿入する HTML 片が大きすぎて meta charset が読まれないためでしょう。 自動挿入のない >>18 では ChromeFirefox も正しく UTF-8 と認識します。

平文 (text/plain)

[12] >>11 Content-Type: text/plainFirefox でも Chrome でも Shift_JIS と誤認するが、実際は UTF-8

[13] >>12 Firefox開発ツールコンソールcharset がないと警告は出すが、警告だけでなにかしてくれるわけではない。 昔は文字コード変更メニューがあったのに、 削除されてこういうのを手動で修正することもできなくなってしまった。

文字コードの混在

文字コードの混在

その他文字コード指定メニューが実装されていない Web ブラウザーで閲覧不能な事例

文字コード指定メニュー

[81] No way to see UTF-8 file [41308220] - Chromium, https://issues.chromium.org/issues/41308220

[29] Yoji Kubota, http://www.scc.kyushu-u.ac.jp/BioChemPhys/kubota/memo/index.php?page=16

[30] >>29 ヘッダーに UTF-8HTMLShift_JIS とある。実際はシフトJIS

[31] �R�{���P���̌��J���i�Ƃ́@�_���@����, , https://www.jp-spiritual.com/iroha2.htm

[32] >>31 ヘッダーに UTF-8HTMLshift_jis とある。実際はシフトJIS

[33] ���q�O��̃z�[���y�[�W, https://www.r.minpaku.ac.jp/nakahiro/japanese/

[35] >>33 ヘッダーに UTF-8HTMLshift_jis とある。実際はシフトJIS

[34] Netscape 2.0b1/b2 BUG, , https://www.yama.info.waseda.ac.jp/~yamana/TEST/bug2.0.html

[36] >>35 ヘッダーに UTF-8、実際は ISO-2022-JP

[44] FreeBSD Ports ���쥯����� ����, , https://grumbeer.dyndns.org/ftp/cdroms/freebsd/freebsd-2.2.6-2/www/ja_JP.EUC/ports/master-index.html

[45] >>4 Firefox で開くと UTF-8 扱いになって文字化けする。 HTTPContent-Typetext/html; charset=utf-8 になっているのが原因。 そこで Firefox のメニューから修復を選ぶと、 一瞬日本語が表示された直後に別の形で文字化けする。 Windows-1252 と判定されている。 2回目の「修復」は選べない。 実際には HTML<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=EUC-JP"> と書かれており、 EUC-JP が正しい。 Firefox の「修復」機能が正しく「修復」できない事例。

[25] もみじばしさんはTwitterを使っています: 「つちぶた本舗の全駅訪問の旅が文字化けして困っています https://t.co/8jxWB9YJFm」 / Twitter, , https://twitter.com/momiji_3015/status/1567919885443026946

[26] ひめ@女体化したい人生だったさんはTwitterを使っています: 「ウチのサイトも見事に文字化けしてたとの報告をいただきました(気づいてなかった…) いい加減shift_jisなのも悪いのか。いま外出中なので対応できないけど、UTF-8にする方向で検討中です。」 / Twitter, , https://twitter.com/sarasvati635/status/1576429367999143937

[46] Cyrillic/Latin Converter, , https://web.archive.org/web/20010109085000/http://www.rz.uni-karlsruhe.de/~ut13/c2l.html

[47] >>46 文字コード指定がないため Windows-1252 と誤認されてしまう。 Firefox でも修復メニューは有効にならない。 性質 (変換器なので変換表が入っている) 上、自動判定も原理的にほぼ不可能、 .de ドメイン (ドイツ) なので Windows-1251 が優先判定されることもなく、 手動変更以外に方法がない。

[48] ページ内に文字コードを変更せよと説明があるので、現役当時から手動指定必須だったのだろう。

[49] Open Society-Georgia Foundation (OSGF), , https://web.archive.org/web/19981202173516/http://www.osgf.ge/

[50] >>49 charset 情報なし。 WindowsChrome では Windows-1252 と正常に判定される。 WindowsFirefox では ISO-8859-2 と誤認され文字化けする。 修復は有効にならない。なぜかソース表示では Windows-1252 と正常に判定される。

[51] >>49 は(おそらく) © の1文字しか非ASCII文字がなく判定は誤りやすいだろうが、 © だけ入っている頁は少なからずあるだろうし、 Chrome ではたまたまかもしれないが正常判定できてるし、 Firefox でも比較的単純な挙動の判定と思われるソース表示の方では正しく判定できているだけに、 誤判定してしまう Firefox 本体の落ち度と言わざるを得ない。 しかも修復メニューを用意しているのに仕組み上機能しないのだから、 利用者の体験は二重に悪い。

[52] — ŠG•¶ŽšŠÙ, , https://web.archive.org/web/20020606134958/http://w3.pos.to/kao/

[53] >>52 シフトJISFirefoxWindows-1252 と誤認。 文字コード修復メニューも無効。なおソース表示ではなぜかシフトJISと正常認識。 Chrome ではシフトJIS と正常認識。

[54] 房 地 产 中 文 版 Chinese Site By MagNett Communication, Business Presence and Real Estate; Vancouver BC, , https://web.archive.org/web/19961109234307/http://www.magnett.com/cindex.htm

[55] >>54 GB 2312。貼り付けられている画像はなぜか繁体字という怪しい中文ではあるが。 FirefoxISO-8859-5 と誤認。ソース表示でも同じ。修復も不可。 Chrome は正しく GBK と認識。

[56] Wayback Machine, https://web.archive.org/web/19970131150747/http://ermis.cc.duth.gr/gr/

[57] >>56 ChromeWindows-1253 と判定し、おおむね正しそうだが一部文字化けするので少し違うのかも。 FirefoxWindows-1252 と判定する。ソース表示でも同じ。修復不可。

[58] Dam master, , http://dammaster.fc2web.com/tokyo/0693.html

[59] >>58 charset 情報なし。 Chrome では正しく Shift_JIS と判定される。 FirefoxWindows-1252 と誤認して文字化け。ソース表示も同じ。修復不可。

[61] Sample Bulgarian (UTF8) URLs, , http://www.i-dns.net/samples/bulgarian.html

[62] >>61 HTTP UTF-8HTML Windows-1251。正しくは Windows-1251Firefox でも Chrome でも UTF-8 として文字化けFirefox では修復できるが、なぜか Windows-1255 と誤判定する。 メニューがないので正しい符号化で見る方法がない。

[63] >>62 より、 Firefox の「修復」は meta を見ないことがわかる。

[64] Sample Hebrew (CP1255) URLs, , http://www.i-dns.net/samples/hebrew.html

[65] >>64>>61 と同じ状況で、こちらは Windows-1255 が正しい。 Firefox の「修復」はこちらは正しく Windows-1255 と判定できた。しかし通常表示では「修復」できるが、 ソース表示では「修復」できないので UTF-8 と誤認したままで変更できない。片手落ち。

[66] LV Homepage (in Japanese), , https://web.archive.org/web/20010119052900/http://www.mt.cs.keio.ac.jp/person/narita/lv/index_ja.html

[67] >>66 HTTP にも HTML にも charset なし。実際には ISO-2022-JPESC が入っているので明らかに ISO-2022-JP と容易に判定できる。 Chrome では正しく表示される。なぜか Firefox では Windows-1252 扱いされる。修復も不可。

[70] Wayback Machine, https://web.archive.org/web/20010404010313/http://www.megamedia.ne.jp/~nakagawa/

[71] >>70 フレームASCII文字のみ、フレーム内はシフトJISが正しい。 ChromeフレームWindows-1252 とみなし、フレーム内は Shift_JIS とみなす (正しい)。

[72] >>70 FirefoxフレームWindows-1252 とみなし、フレーム内も Windows-1252 とみなす (文字化け)。 子フレーム文字コード無指定時は親フレームを継承するという挙動だろうか。 なお Firefoxフレーム内文書だけを単独表示すると、正しく Shift_JIS と判定する。 また、 フレーム表示時でも修復が利用可能で、実行するとフレームUTF-8 となり、フレーム内は Shift_JIS となって文字化けが解消する。 解決したのはいいことだが腑に落ちない動作。

[73] Jawi Unicode Chart, AOYAMA Toru, https://dept.sophia.ac.jp/is/SIAS/past/MMES/past/jawi-study/unicode_chart.html

[74] >>73 HTTP UTF-8, meta Shift_JIS, 実際シフトJISFirefox では「修復」可能。

[75] Thoughts, , http://plaza.harmonix.ne.jp/~onizuka/Thought.html

[76] >>75 HTTP Content-Type text/html (charset なし)。 HTML <meta charset> なし。実際 ISO-2022-JPFirefox は正しい。 Chrome だと Shift_JIS と誤認される。

[77] Windows-1250Firefox が誤判定して変更もできない事例多数。

[78] Esperanta versio ( = EspeTRON ) de 'TRON', https://esperanto.sannasubi.com/tron/pbe01o13.htm

[79] >>78 実際にはシフトJISChrome は最初から Shift_JIS 判定。 Firefox は表示開始後すぐに自動で再読み込みして Shift_JIS として表示。ソース表示では GBK として表示。

[80] Character set guessed wrong on 403 pages, with no way to recover [41355498] - Chromium, https://issues.chromium.org/issues/41355498

[82] 系統發生錯誤!403, http://k1019.jjvk.com/bdsn/

[83] >>82>>80 で紹介されているページ。 Firefox では Windows-1252Chrome では Shift_JIS と誤認識。 (後者は日本語版で見ているからか。)

関連

読めなくなったファイル

charset sniffing

メモ