Windows⇔Linuxのテキストファイルの文字化けを防ぐ方法

 Windowsで作ったテキストをそのままLinuxのテキストエディタで開くと文字化けする。

 なぜ?

 Linuxのテキストエディタ(メモ帳みたいなもの)とWindowsのテキストエディタでは、改行コードと文字コードが違うのだそうだ。




WindowsとLinuxの改行コード

 WindowsとLinuxでは改行コードが違うため、Linuxで作成したファイルをメモ帳で開くと、改行が認識されない。

 Windowsの標準の改行コードは「CR+LF」。
 Linuxの改行コードは「LF」。
 旧MacOSは「CR」。

Windowsメモ帳の改行コード

 Windowsのメモ帳も改行コードは『CR+LF』。

 だが、最近、「LF」・「CR」の改行コードも読み取ることができるようになった。

 ただし、メモ帳で新規で作成すると、『CR+LF』の改行コードになる。

 あくまで、「LF」・「CR」の改行コードを読み取ることができ、編集もできるという状態。

 新規のファイルを「LF」・「CR」の改行コードで保存することはできない。

WindowsとLinuxの文字コード

 Windowsの文字コードとLinuxの文字コードも違う。

文字コードとは?

 コンピューターは数字でしかデータを扱えない。

 コンピューターが言語や記号を扱うためには文字も数字の組み合わせで扱わなければならない。 

 文字を数字の組み合わせで扱うための規格が文字コード。

 この文字コードが合わないと、文字化けが起こる。

文字コードの種類

JISコード
 インターネット 上で標準的な文字コード。
 電子メールでの使用が一般的。
 Shift_JIS
 Microsoft社が開発したコード。
 PC上のファイルで広く用いられている。
 EUC
 日本語UNIXが使用。
 Unicode
 世界中の文字を集め、それぞれに番号を付けて利用できるようにしている文字集合のこと。
 Unicodeで管理している文字を実際に使う際には、「文字符号化方式(エンコーディング)」を使いってコンピューター上で扱えるように数値変換する。
 「文字符号化方式」の代表的なものにUTF-8やUTF-16がある。

Windowsの標準の文字コード

メモ帳の場合は基本の文字コードは「ANSI」

 他に「Unicode」、「Unicode big endian」、「UTF-8」を選ぶことができる。

 ANSI ≒ Shift_JIS、といっても全く同じではない。

 「Unicode」、「Unicode big endian」は実はUTF-16。

 「UTF-8」にはBOMという記号が必ず入るようになっていて、Windows以外の場合、不具合が生じる可能性もあるそうだ。

Windowsメモ帳の文字コード

[Windowsメモ帳の文字コード]

wordPat(ワードパット)の場合『Unicode』
ワードパットの文字コード

[ワードパットの文字コード]

Linuxの文字コード

 Linuxの文字コードは『Unicode(UTF-8)』『UTF-8N』。

Windows側のテキストエディタで保存するときは

 Windows側のテキストエディタで保存するときにLinuxの文字コードを指定して保存するとLinuxでも文字化けしないで読むことができるつう話だ。

 ただし、Windowsのメモ帳の「UTF-8」にはBOMという記号が必ず入るようになっていて、Windows以外の場合、不具合が生じる可能性もあるそうだ。

 MKEditorなどのテキストエディタでは、どちらも設定できる。

 メモ帳は使わずに、「MKEditor」「Mery」「サクラエディタ」などのフリーのテキストエディタを使ったほうが無難。