2013-03-20 2 views
0

Я загрузил многобайтовые символы (китайские символы) в оракул, а из Java я извлекаю данные из oracle. в консоли eclipse он отображает ? вместо китайских символов.
Это происходит только в среде Windows, а не в Linux.многобайтовый символ

данные вставляются в оракула таблице:

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 
? 
+0

http://www.javaworld.com/javaworld/jw-04-2004/jw-0419-multibytes.html?page=2 – happy

ответ

0

Ьгу для добавления -Dfile.encoding = UTF-8 в eclispe.ini

+1

Я побежал System.out .println («Estée Lauder 汉»); из моего Eclipse (под Windows), и это копия с правой стороны - Estée Lauder 汉 –

3

Консоль в Windows показывает набор символов по умолчанию, поэтому символы UTF-8 и UTF-16 часто сталкиваются с проблемами.

Для вашей конфигурации запуска вам необходимо установить кодировку на общей вкладке для каждого приложения, которое вы планируете выполнять, с требованием, отличным от стандартного.

Как так:

enter image description here

Смежные вопросы