No.058 | 投稿日時: | 2003/04/18(金) 10:34 <↑親記事:No.056> |
投稿者: | えびはら |
森山さん、コメントどうもありがとうございます。
> コードページとして CpXXX (IBM のコードページ) と MSXXX (Windows のコードページ) の 2種類を使い分けているという所を見ると、Java の事でしょうか?
いえ、Javaは無関係というわけではないですが、基本的には文字コードそのものを問題にしています。
> 以前、Windowsのコードページ 932 (Windows-31J) 絡みで Java のエンコーディングも少しだけ調べてみた事があるという程度の知識しかなく、Cp932(IBM-932)、Cp943、Cp943C に関しては、よく分かっていないのですが、えびはらさんの調査結果に関して誤解されているというところはないのではないかと思います。(私自身、IBM のコードページについては勉強不足で確かなことは言えませんが。)
>
> Cp932 に関しては、Java の用法に従うと IBM のコードページ 932 のようですが、Java 以外では、cp932 を Windows のコードページ 932 (Java の MS932) として扱っているソフトもあるので、注意を要するといったくらいでしょうか。
この調査をしていて困ってしまうのが正にその辺でして、規格(定義)をベースにするか実装をベースにするかというところです。
実システムに関わる話なので実装を無視するわけにはいきませんし、かといって全ての実装を考慮するわけにも行かないので、対象システムに関係する範囲に限定せざるを得ません。
それにオリジナルの定義自体がいまいち明確になっていないのもあるようですし。
# Cp943なんて探すのに苦労しましたわ・・・
# たぶん無視してもいいんでしょうけど
おまけですが、私の身近な例だとデータベースでOracleをよく使うのですが、これのSJISの実装"JA16SJIS"、バージョンによって文字集合が変わります。
8.0まではベンダー定義文字を含まないのに対し(たぶん純粋なSJIS)、8.1以降は含みます(MS932相当)。
でも全角チルダ(+α?)はUnicodeとのマッピングがMS932と異なり、その問題の解決のために"JA16SJISTILDE"なんてのが導入されたり。
> 一部文字化けしていますね。
すみません、確認不足でした。
しかもその他いろいろと補足までしていただきありがとうございます。
それにしても文字コードの問題に関わるときだけは日本に生まれたことを
悔やみます。