hvordan skal jeg decode mine danske bogstaver i et servlet-resp.
jeg har en servlet der svarer på et ajax request. Når jeg indgår æåø i mit response giver det problemer i IE men ikke firefox.
Har ikke helt styr på, om det er i min servlet jeg ikke får lavet en uridecoding eller om det er i mit javascript(Ajax) det går galt. eller om det er mit charset der fejler. Hjælp mig eksperter...
JSON er når man encoder sine data i form af JavaScript. Jeg returnerer jo javaScriptkode: {city:'Århus'}. Det står for JavaScript Object Notation.
Jeg har også prøvet at bruge text/plain i stedet, uden held. charset=\"ISO-8859-1\" fejler helt. Giver mig en Error 500 i begge browsere
Men tror måske, at det er i javaScripten der skal rettes, får når jeg tager et kig på responseHeader i både IE og Firefox, kan jeg se, at 'content-type' har værdien "text/plain; charset=ISO-8859-1" eller "text/json; charset=ISO-8859-1"
Jeg har også forsøgt at encode strengen i min servlet inden jeg sender den afsted på følgende måde: writer.print(URLEncoder.encode("{city:'Århus'}", "ISO-8859-1"));
Det føre til, at jeg i både IE og firefox ser teksten som: "%7Bcity%3A%27%C5rhus%27%7D"
jeg har dog ikke held med at prøve at bruge decodeURIComponent("%7Bcity%3A%27%C5rhus%27%7D"); i javascriptkoden. Så får jeg en scriptfejl: 'malformed URI sequence'
Har fundet en løsning. men ved ikke om det er den rigtige måde. Hvis jeg URLEnoder som beskrevet ovenfor i min servlet, og bruger unescape("%7Bcity%3A%27%C5rhus%27%7D"); i stedet for decodeURIComponent() får jeg det rigte både i IE og firefox.
Burde måske høre i javaScript i stedet, om det er den pæne måde at decode sine strenge.
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.