あいかわらず文字コードは悩み

なんだかんだ言っても
EUC_JP でデータベース作成するのが、安パイぽい。

$ createdb -E EUC_JP testdb

ただ、CentOS 5 のデフォルトの文字コードは UTF8 なので悩みどころ。
実際問題、インストール時に日本語をいれなきゃいいかなとも思うけど
仕事で使うことを考えると、それもビミョーです。


OpenVZ のゲストは LANG が空になっています。
ご参考に。

  • OpenVZ ゲスト (たぶん言語指定なし時)

# locale
LANG=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=

  • 通常の言語に日本語指定時の CentOS

# locale
LANG=ja_JP.UTF-8
LC_CTYPE="ja_JP.UTF-8"
LC_NUMERIC="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_MONETARY="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_PAPER="ja_JP.UTF-8"
LC_NAME="ja_JP.UTF-8"
LC_ADDRESS="ja_JP.UTF-8"
LC_TELEPHONE="ja_JP.UTF-8"
LC_MEASUREMENT="ja_JP.UTF-8"
LC_IDENTIFICATION="ja_JP.UTF-8"
LC_ALL=


文字コードはいつも悩みます。
今まで、携帯サイトなどでは、
OS上の文字コードなどもすべて SJIS
PC 関連は EUC_JP が多かったです。


個人的には、もう全部 UTF-8 でいいんじゃないかと思ったりしています。

というわけで、DB の作成です。

  • EUC_JP での DB 作成

$ createdb -E EUC_JP testdb

  • UTF8 での DB 作成

$ createdb -E UTF8 utftestdb

ただし、initdb 時に --no-locale 指定時のみ。


MySQL を使っていたので
DB にログインせずに createdb コマンドするという動作に
はじめてのときは、とまどいました。