多字节字符

时间:2013-03-20 11:49:09

标签: java windows eclipse oracle

我已经将多字节字符(中文字符)加载到oracle中,而且我从Java中获取了来自oracle的数据。在eclipse控制台中,它显示?代替中文字符 这只发生在Windows环境中,而不是在Linux中。

在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));
    }

运行代码后,在eclipse控制台中显示如下结果:

 ?  
 subhan
 ?

2 个答案:

答案 0 :(得分:3)

Windows中的控制台默认显示拉丁字符集,因此UTF-8和UTF-16字符经常遇到问题。

对于您的运行配置,您需要在计划以非默认要求运行的每个应用的公共选项卡上设置编码。

像这样:

enter image description here

答案 1 :(得分:0)

尝试将-Dfile.encoding = UTF-8添加到eclispe.ini