[pgsql-jp: 38399] Re: PostgreSQLとJIS X 0213

EBIHARA, Yuichiro ebihara @ iplocks.co.jp
2007年 5月 10日 (木) 11:19:39 JST


海老原です。

石井さん、ご回答どうもありがとうございます。

> > 8.1.7以降、8.2.2以降であれば、サーバエンコーディングをUTF-8にし、
> > クライアントエンコーディングもUTF-8にすれば、JIS X 0213文字を
> > 出し入れできる、という僕の理解は正しいでしょうか?
> 
> フロントエンドとバックエンドのエンコーディングがどちらもUTF-8なら,基
> 本的に入れたものはそのまま出てくるだけなので,JIS X 0213であろうとなん
> であろうと「使える」ということになります.

そうでした。確かに「出し入れ」に問題があるはずはないのでした。
演算子や関数が正しく機能するか、という観点なども必要ですね。

> JIS X 0213の規格通りにUTF-8にマッピングしていると仮定すると,引っ
> 掛かりそうなのは4バイト長のUTF-8を扱う必要があることくらいですが,
> 8.1.7以降,8.2.2以降なら問題ないはずです.

マニュアルの「サポートされる文字セット」(8.2だと第21章)に、
サポートされるキャラクタセットの一覧があります。
8.1.0以降では、各キャラクタセットで取り扱えるバイト数の説明が
付加されるようになっていますが、実はそれによれば、以前から
UTF8の最大長は4バイトということになっているのですよね。

ただし8.1.7、8.2.2で以下のBugがFixされています。

(原文)
Tighten security of multi-byte character processing for UTF8
sequences over three bytes long

(日本語訳)
3バイト長を越えるUTF8シーケンスに関する、複数バイト文字処理の
セキュリティを強化しました。

以上を総合すると、やはり問題なくJIS X 0213を扱えるのは、
「8.1.7以降または8.2.2以降で、サーバもクライアントもUTF8の場合」
ということで理解しました。






pgsql-jp メーリングリストの案内