ニコニコ大百科モバイル

7/2(月)よりスマホまたはPCでアクセスした場合、各デバイス向けのサイトへ自動で転送致します


文字化け


ヨミ: モジバケ
掲示板をミル!
100カキコ!

�ュ代→悽譚・陦ィ九∋励′豁」励¥陦ィゅk


縺ゥ縺�@縺ヲ譁�ュ怜喧縺代′襍キ縺阪k縺ョ?繝舌き縺ェ縺ョ?


≫ヲ
�ぅソ後ヰ溘j√ユ医r諢励↑�枚励さ峨〒隱ュソ霎シ蝣エ蜷医↓逋コ逕溘


概要


文字化け(もじばけ)とは、文字が化けること。パソコン上で通常の文字で書かれていたはずのものが全然違う文字に変換されて読めない状態。ウェブサイト上ですべての文字が「逋コ逕溘峨r諢」などやたら画数の多い漢字になってしまう現のことなどをす。

近年においては、「たすけて」のように特殊なUnicode文字を使用して奇妙な文字列を表示させるものも「文字化け」と呼ばれることがあるが、ここでは従来の意味の文字化けを解説する。


文字化けが発生する理由


々がインターネットで文章を送信するとき、文字は必ずデータに変換されてから送信される。この変換方法が「文字コード」である。

文字コードは扱う言文字集合によって様々なものが存在するが、英語の場合は実質ほぼ1通り(ASCII)なのに対し、日本語の場合、(まず文字集合から違うものもあるが)UTF-8, UTF-16, Shift_JIS, EUC-JP, ISO-2022-JPなど、多くのバリエーションが存在する。なので、受け取った文章がどの文字コードを用いて変換されたのかを正しく判別することができれば、元の文章を正しく復元することができるが、誤って元と違う文字コードで復元した場合、てんで訳の分からない文章が出てきてしまう。これが文字化けである。

例えるなら、英語で書かれた文章をローマ字で読んでも全く意味の分からない文章になるのと同じである。(You are so cute! → よう あれ そ くて!)



例として、発生頻度が高く、文字化け後の文章も特徴的な、UTF-8→Shift_JISの文字化けを検証してみる。

文字化け前の文章を「ニコニコ大百科(仮)」とすると、

文字化け前 Unicode番号 データ JIS番号(JIS X 0201/0213) 文字化け後
U+30CB E3 1-69-67
83
8B 1-22-69
U+30B3 E3
82 1-4-21
B3
U+30CB E3 1-69-67
83
8B 1-22-69
U+30B3 E3
82 1-4-21
B3
U+5927 E5 1-74-6
A4
A7 A7
U+767E E7 1-77-89
99
BE BE
U+79D1 E7 1-78-9
A7
91 デコード不可
( U+0028 28 28 (
U+4EEE E4 1-72-29
BB
AE AE
) U+0029 29 29 )

デコード不可: 91Shift_JISで1面33/34区を示すバイトだが、続くバイト28が点番号を示す40FCの中にないため、不正なデータとなり、デコードできない。この場合の処理はデコーダによって異なるが、多くの場合、デコードできなかった1バイトのみを不正なデータとみなし除去した結果を表示する。

以上のように、文字化けした結果は「九さ九さ螟ァ逋セ遘(莉ョ)」となる。


文字化けの直し方



ウェブページの閲覧中に文字化けが発生した時


ウェブページの文字化けは、送られてきた文章データ文字コードブラウザが正しく判別できなかった場合に発生する。

この場合、ブラウザに手動で正しい文字コードを認識させることで直すことが出来る。

どの文字コードで書かれているかは、ブラウザが判別できないのだからいろいろそれっぽいものを適当に切り替えて当てるしかない。なお、日本語ウェブページでよく使用されるのは、

などである。

文字コードの切り替え方

Internet Explorerの場合
  1. ページ内で右クリック
  2. エンコード」から文字コードを選択
Firefoxの場合

メニューバーを表示している場合

  1. 上部のメニューバーから「表示」を選択
  2. 文字エンコディング」から文字コードを選択

メニューバーを表示していない場合

  1. 上部の「Firefox」をクリック
  2. 文字エンコディング」から文字コードを選択
Google Chromeの場合
  1. ウィンドウ右上メニューアイコンを選択
  2. ツール」→「エンコード」から文字コードを選択
Operaの場合
  1. 「設定」から「ウェブサイト」→「表示設定」を選択
  2. フォントカスタマイズ」を選択
  3. エンコード」から文字コードを選択
  4. 元のページに戻ってページ更新

既に文字化けした文章を復元する場合


文字化けしたデータを別のデータとして保存してしまった場合や、ソフトウェア文字コードを切り替える機がない場合など、元のデータがどのようであったかを知るのが困難な場合も存在する。このような場合も、元の文章がどのようであったかを知ることができる場合がある。

例えば、テキストエディタ等で文字化け時に読み取った文字コードファイルを保存し、その後適切な文字コードで同じファイル読みなおすと、原理的には正しく元の文字列を復元することができる。

ただし、先のUTF-8→Shift_JISでの変換例でもあったように、文字コード変換の際に抜け落ちてしまっているデータが存在する可性があり、部分的に正しく復元できない事が多い。(先程の「九さ九さ螟ァ逋セ遘(莉ョ)」をShift_JIS→UTF-8で逆変換すると「ニコニコ��(仮)」となる。)

この作業は手間がかかるが、もじばけらった[外部]のようなサービスを用いることにより作業量を軽減することができる。


文字化けの作り方


文字化けは、意図的に発生させることもできる。その方法を以下に示す。


エディタ(オススメ)


文字コード定して保存・読込できるエディタを使い、保存と読込で別の文字コード定する。(TeraPad 等)


何もインストールせず(Windows 2000以降のNT系OS)


  1. メモ帳文字を書き、保存するときに「文字コード(E): UTF-8」で保存
  2. コマンドプロンプト([スタート]->プログラム->アクセサリ->コマンドプロンプト)を開く
  3. type と打ち込む。(typeの横はスペースを入れる事)
  4. コマンドプロンプトに先ほど保存したファイルドラッグドロップする
  5. [Enter]キーを押す
  6. 表示される(右クリックで選択範囲を定してコピー)

ただしメモ帳のUTF-8にはBOMが付与されるため、冒頭の「・ソ」はBOMであり本文でないことを留意する必要がある。


ブラウザ(Internet Explorer)


適当ページを開いて、右クリック->エンコード(E)で別の文字コード定する。
このとき 自動選択 をクリックして機を解除すること。
ページによって変換できない場合もあります。

また、HTML文書を自分で作成しmetaタグ文字コードShift_JISと宣言しておいてUTF-8で保存することによって任意の文章を文字化けさせることもできる。

ブラウザを用いると�のように文字が登録されていないものもそのまま表示(?)され、よりそれらしい結果を得られる。

ただし、これは裏返すとその1文字に関しては化けていないことを意味するためその辺はお好みで。


変換サンプル


文字化けしています!!!をそれぞれの文字コードで変換した例
縦:保存 横:読込

保\読 SJIS EUC UTF-8 Unicode
SJIS 文字化けしています!!! サU垠Zアュアウアツアアレアオ!!! ????≫? ̄?μ??¢??・!!! ?????????℡
EUC ハクサ嵂ス、ア、キ、ニ、、、゙、ケ!!! 文字化けしています!!! ?≫u2??±?・?????1!!! ?????????℡
UTF-8 ・ソ・ュ・∪・!! 鏤炊サ・Lシ・披 ケΤ6・・ア#・障ア8!!! 文字化けしています!!! ????臣鞁臣?臣?℡
Unicode W[SQ0W0f0D0~0Y0! ! ! ・eW[SQ0W0f0D0~0Y0! ! ! yt?eW[SQ0W0f0D0~0Y0! ! ! 文字化けしています!!!

関連動画



■sm26618720[ニコ動]


関連リンク



関連項目



最終更新日: 16/05/27 14:48
タグ検索 パソコン版を見る


[0]TOP
ニコニコ動画モバイル
運営元:ドワンゴ