2007年3月13日火曜日

文字コードと改行コードの扱い

さくらインターネットで借りた共有サーバーのOSはFreeBSDです。

OSがUnix系ということで、注意しなくちゃいけない点がモリモリとあります。
その中のひとつに文字コードの問題があります。

いつもソースを書くときは、
HTMLもPerlもJSも、文字コードを「UTF-8」にして書いています。
端的な表現になっちゃうけど、どこに持っていってもソースコード自体の文字コードは意識しなくてすみます。
(ブラウザについてはよくわからないですが、新しめのPerlとかは内部的にUTF-8使ってるらしいです。)
コンテンツは作成物の文字コードは「UTF-8」に統一します!
エディタでもなんかしらのIDEでも、文字コードの設定で設定できるはずです。
やったことないけど、Shift-JISとかでPerlのソースコード書いて、
UNIXのApacheでCGIとして動かすと動かないのかな?

改行コードについては、サーバー上で動かすものについては、
Unixの改行コード(LF)にする。
さっき、サーバーの動作確認のPerlのCGIをWindows上で簡単に書いて、FTPであげて
ブラウザアクセスしたら動かなくてはまった。
さくらインターネットのApacheのエラーログの場所がわからくて、
手探り状態で、これに気付くまで、30分ぐらい右往左往。
よくよく考えたら、改行コードがCR+LFだった。
これも、エディタやらIDEの設定で出来るはず。

結論としては、
文字コード「UTF-8」と改行コード「LF」で作成する。

ちなみにEclipseでは、
プロジェクト単位の設定か全体の設定のどちらを選んで文字コードと改行コードの設定が出来る。
My設定は、全体で、文字コードを「UTF-8」に、
プロジェクトによってはWindows上で動かしたりすることもあるので、
改行コードはプロジェクト単位で設定している。

設定方法
1.全体編 Eclipseのコンテナの設定を変更する。
Workspace内の全プロジェクトのエンコードが変更されます。
日本語化されてるEclipse3.2だと、「ウィンドウ」>「設定」>「一般」>「ワークスペース」の「テキスト・ファイル・エンコード」を「UTF-8」に変更すればエンコードを変えれます。
改行コードは隣の「新規テキスト・ファイルの行区切り文字」から、設定できる。
「Windows」を選ぶと「CR+LF」、「UNIX」を選ぶと「LF」になります。

2.プロジェクト単位編 プロジェクト単位で指定する。
これはプロジェクト単位でエンコードを指定されます。
プロジェクト・ビューの最上層のプロジェクト名で右クリック。
「情報」の項目でエンコードを指定できます。
設定については1.と同じです。

0 件のコメント: