Zeichensatzproblem

Status
Nicht offen für weitere Antworten.

heidiweber

Aktives Mitglied
Hallo,

ich habe ein Java-Programm, das unter Linux läuft. Dieses Java-Programm zieht aus einer Datenbank Daten aus Varchar-Feldern und versendet dann eine eMail.

In einer DAO fülle ich eine Bean mit den Feldern aus der Datenbank.
Jetzt baue ich mir die eMail zusammen.

Solange ich die Bean als String behandle, werden die Sonderzeichen (ä, ö, ü) korrekt in der versendeten eMail umgesetzt.

Nehme ich aber einen StringBuilder, werden die Sonderzeichen nicht korrekt umgesetzt (stehen dann krytische Zeichen dort).

Ich habe auch schon folgendes versucht:
Code:
		sb.append("\nVorname: ");
		sb.append(mailBean.getVorname().toString());
		sb.append("\nNachname: ");
		sb.append(mailBean.getNachname().toString());

		String text = new String(sb.toString().getBytes("ISO-8859-15"));

		MailSending ms = new MailSending();
		ms.sendMail(smtpHost, "", "", senderAddress, recipientsAddress, subject, text);

Hat aber leider nix gebracht - habe auch andere Charsets ausprobiert. Kann man dem StringBuilder einen anderen Zeichensatz mitgeben? Oder wie kann man den Inhalt des StringBuilders in einen anderen Zeichensatz konvertieren?

Vielen Dank
Grüße
Heidi
 

HoaX

Top Contributor
Ob String oder StringBuilder _darf_ keinen Unterscheid machen.
Sicher dass die Daten nicht doch schon falsch aus der Datenbank kommen (passiert sehr gerne bei MySQL)?

Ansonsten mach uns ein lauffähiges Beispiel, dass wir es selbst sehen.

nachtrag: Dein new String(...getBytes("iso-8859-15")) is unter Windows sinnfrei. Da du dem Konstruktor nichts anderes sagst interpretiert dieser deine Bytes als iso-8859-15, was das Ganze überflüssig macht.
 
Zuletzt bearbeitet:

Ebenius

Top Contributor
nachtrag: Dein new String(...getBytes("iso-8859-15")) is unter Windows sinnfrei. Da du dem Konstruktor nichts anderes sagst interpretiert dieser deine Bytes als iso-8859-15, was das Ganze überflüssig macht.
Es ist nicht "sinnfrei" sondern falsch. Auf einem russischen Windows wird das genauso nichts wie auf einem Chinesischen, tschechischen, finnischen, französischen, ...

Ebenius
 

heidiweber

Aktives Mitglied
Vielen Dank euch beiden. Aber es lag nicht an der Konvertierung, sondern am fehlendem Header beim eMail-Versenden:(

Eingebaut und schon gehts.

Nochmals vielen Dank
Grüße
Heidi
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J JUnit-Tests Zeichensatzproblem ? Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben