文字コードと改行コード

Windows と Linux を使っている場合
結構な確率で問題になるのが、文字コードと
改行コードの問題です
これが原因で、Windows で作ったものが
Linux でまともに使えないということが多々あります
多くのLinux ではUTF-8という文字コードですが
Windowsの場合、Shift-jis という文字コードです
また、文字コードだけでなく
改行コードの違いもエラーの原因となります
Linux が改行には LF つまり \n になるのに
Windows では改行に CRLF つまり\r\n となっています
ここで、変換ツールのnkf を使うことで
この問題に対処することができます
インストールは redhat系なら
yum -y install nkf
でインストールできます
使い方は
nkf 変換したい文字コード 変換したい改行コード –overwrite ファイル名
となります
文字コードの変換については
-w
UTF-8に変換
-e
EUCーJPに変換
-i
JISコードに変換
-s
Shift-jis に変換
となっています
改行コードについては
-Lu
改行コードをLFへ変換
-Lw
改行コードをCRLFへ変換
-Lm
改行コードを CR へ変換
となります
例をあげると
testfile を UTF-8にするには
nkf -w -Lu –overwite testfile
とします
また、このファイルを Shift-jis にするなら
nkf -s -Lw –overwrite testfie
とします
こういった説明を見たあとに
サイト内検索システム構築(Namazu)
にある
nkf -w /usr/local/var/namazu/index/centos/NMZ.head.ja>NMZ.head.ja
文字コードをUTF-8へ
とか
nkf -e NMZ.foot.ja>/usr/local/var/namazu/index/centos/NMZ.foot.ja
文字コードを EUC^-JP へ
とかのページをみるとわかりやすいと思います
ちなみに、Windows でPDF変換したファイルをFTP転送したときに
文字化けしているのは、おそらくはこれが原因と思われます