debianのパッケージ postgresql-9.1 (9.1.11-0wheezy1) を通常インストールした状態で、 EUC-JPエンコードのデータベースを作成しようとしたら、 $ createdb -E EUC_JP -T template0 MyDB createdb: データベースの生成に失敗しました:ERROR: 符号化方式 EUC_JP がロケール ja_JP.UTF-8 に合いません DETAIL: 選択された LC_CTYPE を設定するには、符号化方式 UTF8 である必要があります。 という結果に。 $ createdb -E EUC_JP -l C -T template0 MyDB とすれば、とりあえずデータベースを作成できるが、 ソート順が辞書順にならないなど、日本語関係の処理に違和感があるかもしれない。 その場合は、EUC-JP用の日本語ロケール(ja_JP.eucjp)を用意すればよいらしい。 具体的には、 $ locale -a で、ja_JP.eucjpロケールがないのを確認し、 $ sudo vi /etc/locale.gen で、ja_JP.EUC-JP EUC-JP の行をアンコメントし、 $ sudo locale-gen で、ja_JP.eucjpロケールを追加し、 $ locale -a で、ja_JP.eucjpロケールを用意できたのを確認し、 $ createdb -E EUC_JP -l ja_JP.eucjp -T template0 MyDB で、データベースを作成できた。 [参考] Ubuntuでja_JP.EUC-JPを使用する - World Wide Wonderful http://d.hatena.ne.jp/orangehat/20090421 ロケール(国際化と地域化) — Let's Postgres http://lets.postgresql.jp/documents/technical/text-processing/2/
2013年12月17日火曜日
Debian wheezy :postgresql (9.1) で EUC-JP エンコードのデータベースを作成
登録:
投稿 (Atom)