[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 メーリングリストの案内