【初心者】Java質問・相談スレッド128【歓迎】
■ このスレッドは過去ログ倉庫に格納されています
0376デフォルトの名無しさん
2009/07/04(土) 11:45:59そもそもの理解が間違ってる。
・丸付き数字はEUC-JPには【存在しない】。Shift_JISにも存在しない。
・CP932(JavaならMS932か)には存在する。Unicodeにも存在する。
・EUC-JPとShift_JISは文字集合に互換性があるが、EUC-JP/Shift_JISとCP932では文字集合に互換性がない。
これは、丸数字などのいわゆる「機種依存文字」だけでなく、下記のような点についても問題が生じる。
http://otndnld.oracle.co.jp/tech/java/htdocs/javanls/javanls817.html
http://www.oracle.com/technology/global/jp/software/tech/java/jdbc/nlsalart/nlsalart.html
Shift_JIS⇔EUC-JPを計算で変換していた時代は、Shift_JISやEUC-JPとしては「不正な」(規格上存在しない)文字があっても問題はなかった。
しかし、Unicodeとの変換は変換表を用いるしかないため、規格に存在しない文字については変換できない。
対策は、ちょっとぐぐってみた限りでは見付からなかった。
OracleがEUC-JP-MS(CP932と互換性を持たせたEUC-JPとでも思えばいい)相当の文字コードが扱えれば対応できるんだけど。
■ このスレッドは過去ログ倉庫に格納されています