croos-kのメインエンブレム

サイト名
  1. HOME
  2. Linux便利なコマンド
  3. 文字コードと改行コード変換

文字コードと改行コード変換(Windows ⇒ Linux)


WindowsとLinuxでは文字コードと改行コードが違う

テキストファイルをWindowsからLinuxにアップロードした時、こんな経験はありませんか?
■参照したら文字化けしている。
■間違いなく正しく改修したはずの設定ファイルやコンフィグファイルを使って実行しても動かない。
■Shellが実行できない。(動かない)
■原因不明のエラーになる。
修正に間違いはないはず・・・。ほんの少しの修正しただけ・・・。試行錯誤した末、やっと文字コードや改行コードの違いに気付く。 急を要する時に限って遭遇したり、私も過去に幾度となく経験し余計な時間を使ったものです。

最近は、ホームページやプログなど自作する方が増え、Windows上で作成したHTML,CSS,PHP,Javascript等をLinuxサーバに移行する機会も増えたのではないでしょうか。FFFTPやWinSCPなど使えば間違いは軽減出来ますが、それでも結局は人の手操作が加わるため全くのゼロにはなりません。「間違いなく修正したのに・・・」「間違いなくサーバにアップしたのに・・・」こんな時にはこのホームページを参照してください。


WindowsとLinuxの文字コードは

Linux上でテキスト内容を確認する場合、catコマンドやmoreコマンド等幾つかのコマンドが用意されています。パッと見で文字化けしていればコード違いと判別出来ますが、表示で一見し問題ない文字化けもあり見落とす場合もあります。半角英数字(ASCⅡ)だけのテキストファイルであれば問題ありませんが、全角やカナを含むテキストファイルはコード変換が必要と考えてください。
Windowsの文字コード「Shift-JIS」に対してLinuxの文字コードは「UTF-8」。コード体系が異なります。


WindowsとLinuxの改行コードは

Windowsの改行コードは「CRLF」Linuxは「LF」です。Shellはこの「CR」の有り無しだけで動きません。文字コードのようにオプション無のcatコマンドやmoreコマンド等で表示させても変化が現れないため改行コードの見落としに意外と気付きません。


文字コードと改行コードの確認はLinuxへのUpload前にWindows上で実施するのがおすすめ

Windows上で作成したテキストファイルは、アップロードする前にエディタなどのツールで確認しておく事をお勧めします。私は良くサクラエディタを使って確認してますが、テキストファイルを開くだけで画面右下にコードが表示され、違っていれば「ファイル」→「名前を付けて保存」で任意のコードに変換し保存してくれてとても便利です。ココでしっかり変換しておけばLinuxサーバへのアップロードは無変換ですみます。