Windowsで作ったテキストをそのままLinuxのテキストエディタで開くと文字化けする。
なぜ?
Linuxのテキストエディタ(メモ帳みたいなもの)とWindowsのテキストエディタでは、改行コードと文字コードが違うのだそうだ。
WindowsとLinuxの改行コード
WindowsとLinuxでは改行コードが違うため、Linuxで作成したファイルをメモ帳で開くと、改行が認識されない。
Windowsメモ帳の改行コード
Windowsのメモ帳も改行コードは『CR+LF』。
だが、最近、「LF」・「CR」の改行コードも読み取ることができるようになった。
ただし、メモ帳で新規で作成すると、『CR+LF』の改行コードになる。
あくまで、「LF」・「CR」の改行コードを読み取ることができ、編集もできるという状態。
新規のファイルを「LF」・「CR」の改行コードで保存することはできない。
WindowsとLinuxの文字コード
Windowsの文字コードとLinuxの文字コードも違う。
文字コードとは?
コンピューターは数字でしかデータを扱えない。
コンピューターが言語や記号を扱うためには文字も数字の組み合わせで扱わなければならない。
文字を数字の組み合わせで扱うための規格が文字コード。
この文字コードが合わないと、文字化けが起こる。
文字コードの種類
インターネット 上で標準的な文字コード。
電子メールでの使用が一般的。
Microsoft社が開発したコード。
PC上のファイルで広く用いられている。
日本語UNIXが使用。
世界中の文字を集め、それぞれに番号を付けて利用できるようにしている文字集合のこと。
Unicodeで管理している文字を実際に使う際には、「文字符号化方式(エンコーディング)」を使いってコンピューター上で扱えるように数値変換する。
「文字符号化方式」の代表的なものにUTF-8やUTF-16がある。
Windowsの標準の文字コード
他に「Unicode」、「Unicode big endian」、「UTF-8」を選ぶことができる。
ANSI ≒ Shift_JIS、といっても全く同じではない。
「Unicode」、「Unicode big endian」は実はUTF-16。
「UTF-8」にはBOMという記号が必ず入るようになっていて、Windows以外の場合、不具合が生じる可能性もあるそうだ。
Linuxの文字コード
Linuxの文字コードは『Unicode(UTF-8)』『UTF-8N』。
Windows側のテキストエディタで保存するときは
Windows側のテキストエディタで保存するときにLinuxの文字コードを指定して保存するとLinuxでも文字化けしないで読むことができるつう話だ。
ただし、Windowsのメモ帳の「UTF-8」にはBOMという記号が必ず入るようになっていて、Windows以外の場合、不具合が生じる可能性もあるそうだ。
MKEditorなどのテキストエディタでは、どちらも設定できる。
メモ帳は使わずに、「MKEditor」「Mery」「サクラエディタ」などのフリーのテキストエディタを使ったほうが無難。
コメント