[pgsql-jp: 33603] Re: EOF の問題について

Koichi Hyodo sio-0 @ rh.to
2004年 7月 10日 (土) 02:39:52 JST


兵藤です
かなりPostgreSQLから外れている話題だとおもうのですが
FYIとしてまとめておく価値があるとおもって続けます。


> From: "Nao J. Yasuda" <nao @ dit.co.jp>
> Date: Fri, 09 Jul 2004 23:09:11 +0900
> Subject: [pgsql-jp: 33601] Re: EOFの問題について
> 
>> SJIS や、JIS の ¥ は、規格上は円記号のはずです。
>> なのに Windows や Unix では Unicode に変換する際に
>> 平気で違う形のバックスラッシュ(005C REVERSE SOLIDUS)に
>> 変換してしまいます。
> もともとの7ビットASCII文字コードセットでは、0x5C は
> バックスラッシュ(\の1バイト文字)でした。
> ASCIIをJIS化する時、日本語ではほとんど使われることの無い
> バックスラッシュを円記号(¥の1バイト文字)に変えて割り当てました。
> いわゆるコードポイントに対するグリフ(字形)を変えた、という
> ことになります。

付け加えるなら、いま私たちが参照できる上位規格はISOであって
ASCIIではなく、ASCIIはアメリカの国内規格にすぎないということですね。
バックスラッシュを含む数文字は各国で字形を変えても良いという規格です。

このコードポイントはWindowsやUnixでは特別な扱いを受けるためにこの字形
の違いを無視するのが実態になっています。それで、文字の符号表現を保存
することを優先して、文字の印刷表現である字形を保存することは優先され
なかったのだとおもいます。
... という議論が、以前紹介していただいた以下のURLにありましたね。

http://www.opengroup.or.jp/jvc/cde/ucs-conv.html


>> メーラに入力するときに SJIS で入力して送るときには
>> SJIS ==> Unicode ==> JIS と変換される過程で ¥ が ¥に
>> 変わってしまっただけでしょう。

Unicode化されているMacOSXでは
ありとあらゆる場所で自動的にUnicodeに変換されるようで
なかなか事情が複雑なようですね。
仲村さんがおっしゃるように、
結構深みなのでこれらの文字を使わないで済むように
話を持っていく方が賢明だとおもいます。


Unicode問題とは違いますが、実際AppleのホームページをAppleのブラウザで
みたときでさえ、金額を示す円記号がバックスラッシュとして表示されて、
レガシーが引き起こす歪みを実感します (^^;;






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