CLOB to String - Encoding Problem

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Moin zusammen,

hab leider eine kleines Problem mit Clobs und encoding. Ich mach eine Abfrage auf eine Oracle Datenbank, diese liefert mir ein XML zurück, welches in einem CLOB verpackt ist. Um das in eine Datei zu schreiben, verwende ich die methode clobToString.

Leider zerhaut er mir jedesmal Umlaute (Ä,Ü,Ö etc.). Hat jemand eine Idee wie ich das Problem lösen kann? Danke schon im voraus für mögliche Lösungen.

Code:
	static String clobToString(Clob clob) throws IOException {
		String string = null;
		
		try {
			string = clob.getSubString(1L, (int) clob.length());   /* convert clob into a string */
		} catch (SQLException e) {
			return null;
		}
		return string;
	}

Danke

Dodo
 

semi

Top Contributor
Eine Möglichkeit wäre BASE64Encoder/BASE64Decoder für Lese/Schreibvorgänge zu verwenden.
 

abollm

Top Contributor
Anonymous hat gesagt.:
Moin zusammen,

hab leider eine kleines Problem mit Clobs und encoding. Ich mach eine Abfrage auf eine Oracle Datenbank, diese liefert mir ein XML zurück, welches in einem CLOB verpackt ist. Um das in eine Datei zu schreiben, verwende ich die methode clobToString.

Leider zerhaut er mir jedesmal Umlaute (Ä,Ü,Ö etc.). Hat jemand eine Idee wie ich das Problem lösen kann? Danke schon im voraus für mögliche Lösungen.
[..]
Danke

Dodo

Du hast mit hoher Wahrscheinlichkeit den NLS_LANG-Parameter an deinem Client nicht korrekt gesetzt.

Hast du mal eine Beispielausgabe?
 
G

Guest

Gast
Der Substring macht aus Ö zum Beispiel ein ƒ.

NLS_LANG hat doch meines wissen doch was direkt mit der Datenbank zu tun oder?

Also mit anderen programmierspachen z.B. PHP kommt es richtig raus - kann also so wie ich das sehe nicht an der Datenbank liegen, sondern am java Zugriff bzw. an der funktion der clob.getSubString.
 

abollm

Top Contributor
Anonymous hat gesagt.:
Der Substring macht aus Ö zum Beispiel ein ƒ.

NLS_LANG hat doch meines wissen doch was direkt mit der Datenbank zu tun oder?

Also mit anderen programmierspachen z.B. PHP kommt es richtig raus - kann also so wie ich das sehe nicht an der Datenbank liegen, sondern am java Zugriff bzw. an der funktion der clob.getSubString.

Das kann dennoch an der NLS-Einstellung deines Clients liegen, denn PHP greift auf den Server, und damit direkt auf die dort eingestellten NLS-Parameter zu, während du auf auf einem anderen Rechner als dem Server arbeitest, sprich auf einem Client.

Hast du ein Windows-OS auf deiner Maschine?

Wenn ja, dann schau dir den Wert des NLS-Parameters einmal in der Registry an und vergleiche den mit dem Wert auf dem DB-Server (dazu ggf. den DBA fragen):

HKLM - Software - ORACLE -> NLS_LANG (ggf. auch in HOME0 schauen)

Hth
 
G

Guest

Gast
Die Datenbank und der Client laufen beide auf Linux (Ubuntu)

- daher nichts mit Windows OS :) und haben beide die selben Parameter
 

abollm

Top Contributor
Anonymous hat gesagt.:
Die Datenbank und der Client laufen beide auf Linux (Ubuntu)

- daher nichts mit Windows OS :) und haben beide die selben Parameter

Ich kenne mich nur mit SuSe-Linux und Oracle aus. Deshalb die Frage: Du bist ganz sicher, dass die NLS-Parameter sowohl auf dem Client- als auch auf dem Server-Rechner identisch sind?

Ansonsten müsstest du einmal Beispiel-Code hier posten, um das Problem nachvollziehen zu können. So kann ich erstmal keine weiteren Hinweise geben.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
C PostgreSQL CLOB Transport Datenbankprogrammierung 4
V Oracle Umstellung LONG -> CLOB Datenbankprogrammierung 2
L CLOB-Daten werden beim Einfügen in die Datenbank geändert? Datenbankprogrammierung 5
AlexSpritze Derby/JavaDB CLOB mit JDO&JPOX + Boolean Datenbankprogrammierung 2
G Inhalt eine Clob Feldes zw. zwei DB's kopieren Datenbankprogrammierung 2
B Java Derby Datenbank mit CLOB & BLOB Datenbankprogrammierung 5
J OutOfMemory beim Clob Datenbankprogrammierung 5
D SQL Server Android App: 'int java.lang.String.length()' on a null object reference Datenbankprogrammierung 15
T JPA: Nach String statt Primärschlüssel suchen Datenbankprogrammierung 9
M Oracle String aus Column splitten und x Rows daraus erstellen Datenbankprogrammierung 1
C String in Datenbank einfügen Datenbankprogrammierung 11
E Conversion failed when converting date and/or time from character string. Datenbankprogrammierung 3
D String übergeben Datenbankprogrammierung 7
X MySQL Json String in MySQL einfügen. Datenbankprogrammierung 20
M SQLite Suche nach String Datenbankprogrammierung 4
C Objekte aus DB in Strings umwandeln also von List<Objekt> in String Datenbankprogrammierung 6
A ByteArray zu String dann wieder zu ByteArray Datenbankprogrammierung 2
D HSQLDB SQL ORDER BY nur mit fixen String machbar? Datenbankprogrammierung 16
F Dynamischen String in SQL Statement einbinden Datenbankprogrammierung 9
N String Array in While Schleife befüllen Datenbankprogrammierung 2
H Derby: SYSCS_UTIL.SYSCS_EXPORT_QUERY mit String Abfrage in wehre-Klausel nicht möglich Datenbankprogrammierung 3
R Zeichenkette in String zählen Datenbankprogrammierung 3
P GWT Applikation-The method forName(String) is undefined for the type Class Datenbankprogrammierung 10
B Mysql speichert keine 0 alls String Datenbankprogrammierung 11
B MySQL Datenbank Connection als String zurückgeben Datenbankprogrammierung 7
F Oracle ResultSet zu einer HashMap<Integer, String[]> Datenbankprogrammierung 6
I DB-Zelleninhalt mit String vergleichen klappt nicht Datenbankprogrammierung 3
I SQL_Abfrage-Ergebnis (ResultSet) in String[] speichern Datenbankprogrammierung 29
M SQL String Datenbankprogrammierung 2
G Sonderzeichen im String codieren Datenbankprogrammierung 4
K Date in SQL-String konvertieren Datenbankprogrammierung 3
B String aus txtDatei auslesen und in Datenbank schreiben. Datenbankprogrammierung 8
T Mittels SQL-String ein Berechnung vornehmen Datenbankprogrammierung 2
C SQL String zwei Tabellen vergleichen und gleiche Zeile löschen Datenbankprogrammierung 25
C Split String für SQl query Datenbankprogrammierung 10
J String[] in eine SQL-Anweisung implementieren Datenbankprogrammierung 13
F ResultSet to String[] Datenbankprogrammierung 3
S Connection String MS Access mit Systemdatenbank / Arbeitsgruppeninformationsdatei Datenbankprogrammierung 4
G Hilfe um String an Datenbank zu schicken Datenbankprogrammierung 3
M SELECT longtext -> als String behandeln Datenbankprogrammierung 6
G Daten aus ResultSet in String-Liste Datenbankprogrammierung 13
padde479 Connection String Oracle Datenbankprogrammierung 5
T SQL Date String in java.util.Date umwandeln Datenbankprogrammierung 3
G ResultSet: String mit Anführungszeichen einlesen Datenbankprogrammierung 8
A JPA + @OneToMany + String ArrayList Datenbankprogrammierung 4
S Char to String aus DB Datenbankprogrammierung 2
Q string Vergleich Datenbankprogrammierung 2
M Konvertierung eines Ojects to String Datenbankprogrammierung 3
M Preparedstatement SQL-string auslesen Datenbankprogrammierung 13
D INSERT String enthält ' wie kann man das Escapen? Datenbankprogrammierung 4
G MsSQL | Statement.execute(String s) Datenbankprogrammierung 3
D String[][] Array in Access Datenbank speichern Datenbankprogrammierung 5
K Hibernate: Liste von String-Werten Datenbankprogrammierung 2
S String probleme Datenbankprogrammierung 3
R Nach String in MySQL datenbank suchen Datenbankprogrammierung 7
M Datum's String in MSSQL oder MySQL wie konvertieren ? Datenbankprogrammierung 3
T String in DB(Oracle) schreiben mit Leerzeichen Datenbankprogrammierung 4
K ResultSet: Erste Zeile ausgeben, Datensatz in String speiche Datenbankprogrammierung 13
E Fehler bei String-Insert in MySQL-DB Datenbankprogrammierung 8
L Datum (String) in MySQL-Tabelle (date) speichern Datenbankprogrammierung 4
C SQLException wenn String auf VARCHAR geschrieben wird Datenbankprogrammierung 10
T Methode getColumnIndex(String columnName) ? Datenbankprogrammierung 6
K string literal too long was tun ? Datenbankprogrammierung 9
S MySQL Problem mit SELECT bzw encoding Datenbankprogrammierung 4
N Encoding UTF8 linux und windows Datenbankprogrammierung 1
B Mysql DB charset encoding Datenbankprogrammierung 2

Ähnliche Java Themen

Neue Themen


Oben