Zeichen-Kodierung beim Lesen der Daten mit Hilfe von Java-JDBC-vom Oracle-Datenbank

Wir haben die Daten, die in oracle 10g db enthält Französisch-Zeichensatz. Die Voraussetzung ist, um die Daten Lesen und erzeugen eine Ausgabe-Datei, die mit Java.

Habe ich überprüft die Gültigkeit der Daten in Oracle-db per SQL*plus und es sieht gut aus.

Unter windows:

set NLS_LANG=AMERICAN.AL32UTF8
sqlplus scott/tiger
sql>  select billing_address from MYTABLE t where ADDRESS_ID=1 ;
billing_address
-----------------------
MONTRÉAL QUÉ

Nun, wenn ich Lesen Sie die Tabelle aus Java erzeugen eine Ausgabe-Datei, der Charakter ist alles verzerrt und ich sehe nur Fragezeichen anstelle von É.

Gibt es eine spezielle Kodierung, die ich brauche, um, wenn ich versuche zu Lesen/schreiben die Daten in Java.

Bin mit der ojdbc14.jar und Einstellung der Codierung als UTF-8.


Update: Hier ist mein java-code-snippet.

        Charset cs1 = Charset.forName("UTF-8");
        PreparedStatement pStmt = conn.prepareStatement("select * from talbe where address_id=1");
        ResultSet rs = pStmt.executeQuery();
        Writer w = null;
        FileOutputStream fos = null;
        if(rs.next()) {

            String billingaddress = rs.getString("BILLING_ADDRESS");

            fos = new FileOutputStream(new File("myout.dat"));
            w = new BufferedWriter(new OutputStreamWriter(fos,cs1));
            w.write(billingaddress);
        }
Wussten Sie, dass über die Codierung der Daten beim schreiben in die Ausgabedatei?
Befestigt hiermit snippet von meinem java-code. Zeichensatz cs1 = Charset.forName("UTF-8"); PreparedStatement pStmt = conn.prepareStatement("select * from table where address_id=1"); ResultSet rs = pStmt.executeQuery(); Writer w = null; FileOutputStream fos = null; if(rs.next()) { String billingaddress = rs.getString("BILLING_ADDRESS"); fos = new FileOutputStream(new File("myout.dat")); w = new BufferedWriter(new OutputStreamWriter(fos,cs1)); w.schreiben(billingaddress); }

InformationsquelleAutor Raghavan | 2010-07-31

Schreibe einen Kommentar