[pgsql-jp: 38221] Re: [Pginstaller-devel] Codepage of EUC_jp is 20932
ITAGAKI Takahiro
itagaki.takahiro @ oss.ntt.co.jp
2007年 3月 26日 (月) 12:18:54 JST
板垣です。
pginstaller の修正ありがとうございました > さいとうさん
これで、Windows インストーラを使う限りは、うっかり(?)ロケールを設定しても、
それなりに動作してくれるのではないかと思います。
ただ、Microsoft が作った EUC_jp のロケールは、当てにならないかもしれません。
どちらかといえば、エンコードを SJIS(cp932) にして、
ロケールにも Japanese_Japan.932 を使うほうが安心なのですが、
今のところ、サーバサイドで SJIS は使えません。SJIS は対応可能なんでしょうか?
ところで、
「ロケールとサーバエンコーディングの双方を設定するのは、ユーザの責任」
とは言われているものの、具体的な設定の仕方が語られたことは
少なかったように記憶しています。多少調査しましたので、お知らせします。
ロケールを使う場合、エンコーディングを含めたロケールを指定するのが安全です。
以下のいずれかを使って、初期化してください。
- [Unix] initdb --encoding=EUC_jp --locale=ja_JP.eucjp
- [Unix] initdb --encoding=UTF-8 --locale=ja_JP.utf8
- [Windows] initdb --encoding=EUC_jp --locale=Japanese_Japan.20932
(※ Windows では UTF-8 は問題があります。使わないほうが無難です。)
ロケールを設定する利点として、ソートが辞書順になることがあります。
- no-locale : か が き ぎ カ ガ キ ギ
- Japanese : カ か ガ が キ き ギ ぎ
ただ、no-locale のほうも、五十音順として見たときには、
かえって適切な場合もあるかもしれません。用途によって使い分けるのが良いでしょう。
"Hiroshi Saito" <z-saito @ guitar.ocn.ne.jp> wrote:
> Hi ITAGAKI-san.
>
> The part was corrected.
> Anyway, Thanks.!
>
> Regards,
> Hiroshi Saito
>
> ----- Original Message -----
> From: "User H-saito" <h-saito @ pgfoundry.org>
> To: <pgsql-committers @ postgresql.org>
> Sent: Monday, March 26, 2007 11:56 AM
> Subject: [COMMITTERS] pginstaller - pginst: Fixed definition of EUC_jp codepage.
>
>
> > Log Message:
> > -----------
> > Fixed definition of EUC_jp codepage.
> > This was helped by ITAGAKI Takahiro-san's report.
> > 20932 should be used here instead of 51932. (MSDN might be wrong!)
> >
> > #The locale was not chiefly used in Japan....
> > #Therefore, it did not notice easily.:-(
> > Thanks!
------------------------------------------------------------
NTT Open Source Software センタ
板垣貴裕 <itagaki.takahiro @ oss.ntt.co.jp>
pgsql-jp メーリングリストの案内