14. april 2003 - 10:31Der er
16 kommentarer og 1 løsning
Charset problem med danske bogstaver
Jeg har skrevet en MailServer der benytter smtp protokollen til at modtage e-mails. Det virker fint, bortset fra at de danske bogstaver æøåÆØÅ modtages som =E6=F8=E5=C6=D8=C5. Jeg detekterer hvilket charset der bruges, men jeg er ikke sikker på hvordan jeg skal sørge for at de bliver omkodet korrekt. Problemet er det samme hvis posten kommer som iso-8859-1 og utf-8. Spørgsmålet er altså, hvordan benytter jeg Charset (og dens metoder encode/decode) til at konvertere så jeg får beskeden til iso-8859-1 med korrekte danske bogstaver.
Jeg har gjort følgende hvor jeg har fået en Socket s: InputStream is = s.getInputStream(); is = MimeUtility.decode( is, "quoted-printable" ); dernæst pakkes denne ind i en Reader. Begge is assignments returnerer noget fornuftigt, men så hænger programmet bare og kommer ikke videre. Nogen ide?
I stedet for at læse hele streamen (som ikke så ud til at virke) benytter jeg dit forslag lokalt med en reader efter at jeg har læst teksten, men så kommer det her ud: abcᅵᅵᅵxyz i stedet for det sendte abcæøåxyz Nogen ide?
Ja, jeg kører Linux. Normalt ser den ikke ud til at have problemer med æøå, men i dette tilfælde virker det altså ikke. Burde man ikke på en eller anden måde udnytte den information der ligger i den encoding der bliver nævnt i e-mailens headere (det var det jeg først forsøgte, men jeg kunne ikke få Charsets til at virke)?
Som matematiker er jeg ikke helt overbevist: Så løser vi ligningen med x=10. Tak for kommentarerne.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.