なぜ文字化けするの?文字化けする仕組みと対策は?

コンピュータ
この記事は約4分で読めます。
童顔S
童顔S

たまに文字化けするよね。

文字化けした時ってどう対処すればよいか知ってる?

トリッピー
トリッピー

文字化けしていると全然読めないから、読むのをあきらめているよ。

対処法があるなら、教えてほしいな。

童顔S
童顔S

分かったよ。

これから「文字化けする仕組みと対処法」について説明するね。

Office系ファイルをCSV出力したり、他人からもらったファイルを開いたりすると、文字化けしていることがあると思います。

みなさん、この時どのように対処していますか?

この記事では、「文字化けが発生する仕組みと対処法」について書いていきます。

文字化けとは?

童顔S
童顔S

まずは、文字化けとはどんな現象なのか説明するね。

文字化けとは、使用しているソフトやエディターなどで文字列を入力したとしても、ファイルを保存したり、加工したりすることで入力した文字列とは異なる文字列に変換されることです。

変換された文字は、読めないことが多く、多くの人が文字化けに悩まされています。

また、この文字化けは意図的なものではなく、システム間の不整合で発生することが多いです。

文字化けする原因とは?

トリッピー
トリッピー

では、文字化けする原因について見ていこう。

文字化けする原因を説明するには、前提として以下の項目に関する理解が必要になります。

  • コンピュータの処理
  • 文字コード

では、それぞれについて説明していきます。

コンピュータの処理

童顔S
童顔S

まずは、コンピュータの処理について理解が必要だね。

大原則として、人間は文字を認識できますが、コンピュータは数字(0または1)しか認識できません。

人間が文字を入力した際にコンピュータが処理できるよう、コンピュータ側で数字に変換する作業を行っています。

例えば「あ」という文字をコンピュータが処理するために数字に変換していますが、適当に数字に変換しているわけではなく、文字コードという対応表に則って、変換しています。

規則がないと、数字から文字に戻す際に、うまく戻せなくなります。

文字コードについて

童顔S
童顔S

意識したことは無いけど、文字を表現するときは文字コードという規則に従っているんだよ。

文字コードとは、文字(人が理解できる)と数字(コンピュータが理解できる)の対応表のことを言います。

文字コードには数種類存在します。

  • ASCII
  • シフトJIS
  • Unicode
  • EUC
  • EBCDIC

それぞれについて簡単に説明します。

ASCII

最も基本的な文字コードとして知られ、ASCII文字コードの拡張版として、他の文字コードが作成された。

シフトJIS

日本語を含む文字コードとして作成された。

Unicode

世界中の様々な言語文字に対応した文字コードであり、最も使用されている。

EUC

主にUNIXOSで採用されることが多く、日本語に対応している。

EBCDIC

米IBM社が策定した文字コードの内の1つ。

使用するソフトや環境によって、選択できる文字コードが限定されています。

文字化けする仕組み

童顔S
童顔S

では、どのように文字化けが発生するか見ていくよ。

文字化けする仕組みを説明していきます。

上で紹介したように文字コードが複数存在することが文字化けの原因になっています。

上の画像の場合は、変換時に使用している文字コード(シフトJIS)と復元時に使用している文字コード(Unicode)が異なるため、復元後のデータは正常に表示できません。

この現象の一例を書きます。

あるソフトを使用して、「○○」という文字コードを選択し、保存します。

保存したファイルを○○さんに送って確認してもらいます。

○○さんが別のソフトを使用して、ファイルを開きます。

あれ?文字化けしていて全然見れないやとなります。

○○さんの使用しているソフトに設定されている文字コードは「△△」でした。

こういうことが頻繁に起こっているのです。

文字化けさせないためには?

トリッピー
トリッピー

文字化けさせないためにはどうすればよいのだろう・・・

ここまで、文字化けの仕組みを書いてきたので、わかっている人が多いと思いますが、文字化けを防ぐためには文字コードを合わせる必要があります。

つまり、変換した側と復元する側で文字コードを一致させないと、正しく元に戻せないということです。

まとめ

童顔S
童顔S

「文字化けする仕組みと対処法」について説明してきたけど、どうだった?

トリッピー
トリッピー

これで仕組みが分かったよ。やっぱり難しかったね。

でも、解決方法が分かって安心したよ。

童顔S
童顔S

僕も説明する時に難しかったよ。

でもわかってくれて安心したよ。

「文字化けする仕組みと対処法」について書いてきました。

人とコンピュータが認識できる言葉の違いを吸収するために、文字コードが開発されましたが、この文字コードが文字化けの原因だと説明してきました。

文字化けした際は、文字コードが一致しているか確認しましょう。

この記事が皆さんの役に立てれば、幸いです。

コメント

タイトルとURLをコピーしました