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