0

マルチバイト文字 (漢字) を Oracle にロードし、Java から Oracle からデータを取得しています。Eclipseコンソールで?は、漢字の代わりに表示されます。
これは、Linux ではなく、Windows 環境でのみ発生します。

Oracle テーブルに挿入されたデータ:

 NAME         
 ------------ 
 국            
 subhan       
 汉 

データの取得に使用されるコード:

Class.forName("oracle.jdbc.driver.OracleDriver");
        String url="dbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=orcl)))";
        Connection conn= DriverManager.getConnection(url, "OE_schema", "OE_schema");

    Statement stmt=conn.createStatement();

    ResultSet rs= stmt.executeQuery("select NAME from MULTIBYTEINFA332115");
    while(rs.next()){
        System.out.println(" "+rs.getString(1));
    }

code を実行した後、以下に示す結果がEclipseコンソールに表示されます。

 ?  
 subhan
 ?
4

2 に答える 2

3

Windows のコンソールは、デフォルトでラテン文字セットを表示しているため、UTF-8 および UTF-16 文字はしばしば問題に遭遇します。

実行構成では、デフォルト以外の要件で実行する予定の各アプリの共通タブでエンコードを設定する必要があります。

そのようです:

ここに画像の説明を入力

于 2013-03-20T11:55:53.967 に答える
0

-Dfile.encoding=UTF-8 を eclispe.ini に追加してみてください

于 2013-03-20T11:54:52.873 に答える