0

我已将多字节字符(中文字符)加载到 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
 ?
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 回答