初めに
文字化けした時の原因や直し方がわからなかったので勉強をしてみた
文字コード
文字コードは、文字一つ一つに割り当てられている番号のこと
(後述する、文字集合をエンコードしてビット列表記したもの)
文字集合(符号化文字集合)(CCS)
特定の種類ごとに文字を集めたもの(日本語、フランス語 etc)
世界で最初に作成された文字集合は、ASCIIと呼ばれる文字集合(英語向け)
日本語の文字コードの対応表であるJISX0201が作成された
その後、改良版であるJISX0208やJISX0213などが作成された
主な文字集合
- ASCII
- JIS X 0208
- Unicode
例 Unicode
文字 | 番号 |
---|---|
あ | 3042 |
い | 3043 |
ア | 30A2 |
A | FF21 |
コンピュータは、0と1しか処理できないため符号化(エンコード)する必要がある
(コンピュータは、「あ」でも「3042」でも理解できない)
符号化方式(CES)
文字集合の番号をエンコードしてコンピュータが理解できるように変換すること
JISX0208の符号化方式の1つがShift-JIS
Unicodeの符号化方式の1つがutf-8
※CP932は、Shift-JISを拡張した符号化方式
文字化けしないためには
テキストを書いたときと読むときに使用する文字コードを合わせること
(utf-8で書いて、shift-jisで読むと文字化けする)
ブラウザでテキストファイルを開いたときに文字化けする経験がたまにある
Chromeでは、拡張機能を入れて文字コードを明示的に指定してブラウザに認識させるとよい
またHTMLを書くときは、metaタグで文字コードを指定することができる。
(metaタグで指定することで、ブラウザに文字コードを認識させることができる)