Win a copy of Kubernetes in Action this week in the Cloud/Virtualization forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

JDBC and Arabic character  RSS feed

Posts: 7
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
HI All,

I am trying retrieve arabic characters from oracle10g database using java and write it to txt file.
The database characterset is ARABIC_UNITED ARAB EMIRATES.AR8ISO8859P6.
In my registry entry I have NLS_LANG value as ARABIC_UNITED ARAB EMIRATES.AR8ISO8859P6.

The txt file generated by the java code is having ? marks and few arabic characters.

The arabic characters in the database is all correct. I am able to see the proper arabic characters by copy pasting from TOAD screen to text editor with windows 1256 encoding.

I have classes12.jar,ojdbc14.jar,orai18n.jar,nls_charset12.jar in classpath.

I tried oci and thin driver both gives same result.

Can anyone help to figure out if I am doing anything wrong? Is there any special procedure to handle the arabic characters?
Below is the java code?

import oracle.jdbc.*;
import oracle.sql.*;
import java.sql.*;

public class DOC1Test
//private static final Charset ISO_8859_1 = Charset.forName("ISO-8859-6");
public DOC1Test()


public void javajdbc()

DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
OracleConnection con = (OracleConnection)DriverManager.getConnection("jdbcracle:thin:@","DEV_EAI", "eai");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("select subject from event_queue where id='3'");

while (
BufferedWriter out = new BufferedWriter (new OutputStreamWriter(new FileOutputStream("E:\\codepage\\arabic-out.txt"), "Cp1256"));
//out.write(encode(rs.getString("subject"),"ISO-8859-6", "windows-1256"));
String finalstr = new String(rs.getString("subject").getBytes(),"Cp1256");

}catch(Exception e)

public static void main(String[] args)
DOC1Test doctest = new DOC1Test();
It is sorta covered in the JavaRanch Style Guide.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!