ロケールの設定
linux上で、db2クライアントのロケール切替がうまくいかない。
デフォルトロケール en_US.utf8 の環境で、
LC_TIMEやLC_ALLを、ja_JP.UTF8 に設定しても、
date型の表示が英語のロケールのまま。
OSの設定が悪いのか、DB2の設定が悪いのか..
メッセージファイルを入れないとあかんのかな?
悪戦苦闘の末、OSのロケールのパッケージを入れて解決。
/usr/share/i18nには、ja_JP があったのにな〜..
-
- -
いろんなロケールに変えてみて、osのdateコマンドを確認しても、何も反映されない。
下のページ、参考ページを見て、パッケージが要りそうとわかりました。
http://d.hatena.ne.jp/nelnal/20070527/1180273275
http://blog.jetspeed.jp/2006/07/ubuntulocale/
ロケールに必要なものがそろっているか確認するには、perl をたたいてみるのが一番の模様...
- locale
- 設定されているロケールは表示されるが、設定がちゃんと動くかどうかは確認できなかった
-
db2 get db cfg for
- データベースのロケールは確認できるが、接続のロケールは確認できなかった
あと、当初の問題は解決したものの、調べていくにあたって、別の疑問にぶち当たる。
グローバリゼーションガイドのP.108には、クライアントテリトリコードの一覧で、
日本のデフォルト日付形式が、mm-dd-yyyy になっているのに、windows も、linux も、日本のロケールにすると、日付がyyyy-mm-dd で表示される。
なんでだろう?