文字化け単語

モジバケ

3.7千文字の記事
  • twitter
  • facebook
  • はてな
  • LINE

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

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

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

概要

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

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

文字化けが発生する理由

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

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

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

例として、発生頻度が高く、文字化け後の文章も特徴的な、UTF-8Shift_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 )

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

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

文字化けの直し方

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

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

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

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

などである。

文字コードの切り替え方

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

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

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

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

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

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

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

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

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

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

文字化けの作り方

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

エディタ(オススメ)

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

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

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

ただし、かつてのWindowsメモ帳(Windows 10のVer.1809まで)ではUTF-8にBOMが付与される仕様だったため、冒頭の「・ソ」はBOMであり本文でないことを留意する必要がある。

Microsoft Excel

Excelcsvファイルの場合、UTF-8と解釈させるにはBOMが必要である。

  1. Windows 10(Ver.1903以降)のメモ帳文字を書き、保存するときに初期設定の「文字コード(E): UTF-8」で保存
  2. 保存したテキストファイル拡張子csvに変更する
  3. Excelcsvに変更したテキストファイルを開く

ブラウザ(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! ! ! 文字化けしています!!!

関連動画

関連リンク

関連項目

この記事を編集する

掲示板

おすすめトレンド

急上昇ワード改

最終更新:2024/03/28(木) 17:00

ほめられた記事

最終更新:2024/03/28(木) 17:00

ウォッチリストに追加しました!

すでにウォッチリストに
入っています。

OK

追加に失敗しました。

OK

追加にはログインが必要です。

           

ほめた!

すでにほめています。

すでにほめています。

ほめるを取消しました。

OK

ほめるに失敗しました。

OK

ほめるの取消しに失敗しました。

OK

ほめるにはログインが必要です。

タグ編集にはログインが必要です。

タグ編集には利用規約の同意が必要です。

TOP