2011-12-20 4 views
1

私は、Java EE Webアプリケーションを8ビットのcharset oracleデータベースに対して管理しています。ユニコードでのORACLE 8ビット・キャラクタ全体の表示

海外からアプリケーションが使用されます。たとえば、UNICODE正規表現、JavaとJavascriptの両方で文字列をチェックして、データベースCHARSETに適合しているかどうかを確認できます。

GDKの機能の1つに、oracle charsetと同等のJava名が付いています.ISM-8859-15と思われます。しかし、私は一致が正確であるとは確信していません。

私が欲しかったのは、JavaとJavascriptの両方を使用するために、charsetでなくORACLE one-charを表示することです。UNICODEポイントを表示したり、印刷可能なもの。

その目的のためにOracleのGDKに機能がありますか?

ありがとうございます。

答えて

0

私はそれを見つけたと思います! (ユーレカ!)

少しのJAVA JDBCプログラムでは、ISO-8859-15の文字がISO-8859-1の文字とまったく同じものになりました(ところで、私はISO-8859-1がUNICODEでは0x00〜0xff)。

プログラム出力:

CHR:164 UNICODE:8364ユーロ記号

CHR:166 UNICODE:352

CHR:168 UNICODE:353

CHR:180 UNICODE:381

CHR:184ユニコード:382

CHR: 188 UNICODE:338

CHR:189 UNICODE:339

CHR:190 UNICODE:(すべてでGDKを使用していない)376

プログラムコード:

注:文は「(CHRを選択私はnchar_csを使用しています)DUALから "ちょうど同じ数字を返しました...なぜ?

for(int i=0; i<256; i++) 
    { 
    Statement select = con.createStatement(); 
    ResultSet result = select.executeQuery("select CHR(" + i +") from DUAL"); 
    while(result.next()) 
    { 
     int unicodePoint = result.getString(1).codePointBefore(1); 
     //int unicodePoint = result.getString(1).codePointAt(0); 
     if (unicodePoint != i) 
     System.out.println("CHR: " + i + "\tUNICODE: " + unicodePoint); 
    } 
    result.close(); 
    result = null; 
    select.close(); 
    select = null; 
    } 
関連する問題