afnf.net

PostgreSQLのJapanese_Japan.932って何だ?

PostgreSQL Windows 2015/07/30 23:23

Windows環境でinitdb d:\pg_dataとしたら、以下のようなメッセージが表示されました。

データベースクラスタはロケール"Japanese_Japan.932"で初期化されます。
ロケールにより暗示される符号化方式"SJIS"はサーバ側の符号化方式として使用できません。
デフォルトのデータベース符号化方式は代わりに"UTF8"に設定されます。

--encoding=UTF8としなくても、SJISじゃなくて勝手にUTF-8になるのか。ほうほう。

ん?Japanese_Japan.932ってMS932のこと?

Japanese_Japan.932とは

エンコーディングがMS932(Windows-31J)になってしまうわけではないそうです。

http://lets.postgresql.jp/documents/technical/text-processing/2 から引用。

※ Windows で UTF8 エンコーディングを使う場合のみ、ロケールのエンコーディングにコードページ 932 (SJIS) を使うことができます。これは Windows の C ライブラリが UTF8 でのロケール処理をサポートしていないためで、PostgreSQL 側で専用の対応を行っています。

んー、結局詳細は分からず。

ソートとかはUTF8扱い?それともSJIS?後日調査します。

ただ、基本的には--locale=Cが推奨されているようです。

PostgreSQL Windows 2015/07/30 23:23
comments (0)

blog-java2 engine (build:2017-08-10 17:37 JST)