この記事について
文字化けに悩まされる人は今でもいるのではないでしょうか。この記事では文字化けの原因となる文字コードについてエンジニア業務でも携わっていない人でも理解していただきたいと思いまとめました。
目次
とりあえず文字化けを直したいという人は
おそらく、文字化けで困ってるのでとりあえず解決したいということでこの記事に訪れた方もいるかと思います。簡単で恐縮ですが、先に対策だけ記載しておきます。一般的にはこれで解決します。
ブラウザで文字化けが発生した
ブラウザによりますが、メニューからエンコーディング設定を探してみてください。おそらくUTF-8になっているので、他の文字エンコーディングに切り替えてみましょう。いくつかある候補の中から1つだけ正しい表示が起きるエンコーディングがあると思います。
エクセルやWordで文字化けが発生した
おそらく、docxやxlsxといった拡張子ではなく、csvやtsvといったファイルと思います。そのようなファイルはメモ帳アプリで開けますのでメモ帳で開いてみましょう。おそらく正しい表示がでるとおもいます。そこから、Officeアプリに貼り付けてもいいですが、メモ帳で文字コードの変更保存すれば文字化けせずに開くことができます。別名で保存する時にオプションで設定されている文字コードがUTF-8になっていると思います。ここをShift-jisに変更すると表示できます。
文字コードとは
文字コードとは、文字を表示する命令のパターンです。コンピュータはベースをたどると0と1の2種類の数字だけの組み合わせの命令を読み取って文字を表示しています。この命令(=コード)には様々なフォーマットがあります。これが文字コードです。
以下の表に代表的な文字コードの文字表示を紹介しました。
UTF-8 | Shift-JIS | EUC-JP | 文字 |
---|---|---|---|
E38182 | 82A0 | A4A2 | あ |
E382A2 | 8341 | A5A2 | ア |
E7A68F | 959F | CAA1 | 福 |
文字コードの種類ごとに、表示させるためのコードが異なる理由が文字化けの発生理由です。
たとえば、UTF-8の「あ」を表示するコードである「A4A2」をコンピュータが読み取っても、そのコンピュータがShift-JISとして読み取っていた場合、全く別の文字を表示してしまいます。これが文字化けの発生原因です。
幸いなことに、多くのブラウザは違う文字コードで表示させるオプションを持っています。また、Windows、Macに限らずメモ帳系のアプリは文字コードに変換機能を持っています。これらを駆使することが文字化けを克服する定石となるのです。
代表的な文字コード
最後に代表的な文字コードを紹介します。
UTF-8
現在では最も多く使われる文字コードです。特にブラウザでみるWEBページについては原則この文字コードが使われています。おそらくエンジニアでないと経験はないと思いますが、もし文字コードを選ぶような機会があれば、特殊な事情がない限りUTF-8を選ぶのがベターです。
Shift-Jis
UTF-8と並んで良く使われる文字コードで、文字化けを発生させる原因を作る文字コードの代表格です。Windowsのベース部分、Officeがこの文字コードを採用しています。ブラウザからダウンロードしたファイルをOfficeで開いた時に文字化けが発生する原因のほとんどが、UTF-8のファイルをShift-JISで読み取るWindowsアプリで読み込んでしまったことによるものです。もしもOffice系のアプリで文字化けが発生したら、まずは開こうとしたファイルの文字コードがShift-Jisとなっているかどうか確認してみましょう。
EUC-JP
古いPCやシステム、WEBページだとたまに出てくる文字コードです。もしもShift-JisやUTF-8に変更しても文字化けが解決しない場合、この文字コードを試してみると解決するかもしれません。
終わりに
文字コードは、ある程度慣れたエンジニアでも悩まされることが多いものかと思います。私自身、初めて触る技術やシステム環境の場合結構悩まされることが多いです。そんな厄介な文字コードですが、エンジニアでない方も、この記事を通じて少しでも文字コードに対して抵抗が減っていただければ幸いです。
Photo by Lee Campbell on Unsplash