CentOS5でSJISがデフォルト状態では使用できないので追加/削除する方法。
○SJISロケールを追加する場合
# locale -a |grep ja
ja_JP
ja_JP.eucjp
ja_JP.ujis
ja_JP.utf8
japanese
japanese.euc
# localedef -f SHIFT_JIS -i ja_JP /usr/lib/locale/ja_JP.SJIS
キャラクタマップ `SHIFT_JIS' は ASCII 互換ではありません, ロケールは ISO C に従っていません
※この時エラーが出ますが無視します。# locale -a | grep ja
ja_JP
ja_JP.SJIS
ja_JP.eucjp
ja_JP.ujis
ja_JP.utf8
japanese
japanese.euc
japanese.sjis
※【ja_JP.SJIS】と【japanese.sjis】が追加されています# export LANG=ja_JP.SJIS # date 2000年 1月 1日 土曜日 00:00:00 JST ←SJIS環境で文字化けをしていないので、正常に動作している。
以上でSJISが使用可能になります。
○追加したSJISロケールを消す場合
# rm -fr /usr/lib/locale/ja_JP.SJIS
# locale -a |grep ja
ja_JP
ja_JP.eucjp
ja_JP.ujis
ja_JP.utf8
japanese
japanese.euc
以上で追加したSJISが削除されます。