phonkworksMedlem sedan juli 2001228 inlägg
Hej!
Flyttar en applikation från en Win maskin till en Linux maskin och har fått problem med att parsa(SAX) XML. I Linux miljön vägrar den att parsa åäö. Identisk kod men funkar alltså inte i Linux (redhat 9).
Har hela tiden haft encoding="ISO-8859-1" i XML huvudet men har även prövat UTF-8. Inget funkar.
Nån som har koll????
Ligger det i OS'et? Måste man sätta nån encoding parameter globalt i Linux?
Mvh!!
phonk
LimeMedlem sedan sep. 2001837 inlägg
phonkworks skrev:
Hej!
Flyttar en applikation från en Win maskin till en Linux maskin och har fått problem med att parsa(SAX) XML. I Linux miljön vägrar den att parsa åäö. Identisk kod men funkar alltså inte i Linux (redhat 9).
Har hela tiden haft encoding="ISO-8859-1" i XML huvudet men har även prövat UTF-8. Inget funkar.
Nån som har koll????
Ligger det i OS'et? Måste man sätta nån encoding parameter globalt i Linux?
Mvh!!
phonk
Vilken SAX-parser använder du?
Är det en fil du försöker läsa eller får du den skickad till dig som en Request?
Om det är fil så har jag använt mig av detta för att få det att funka vid ett tillfälle:
File f = new File("fil.xml");
FileInputStream fis = new FileInputStream(f);
BufferedReader br = new BufferedReader(new InputStreamReader(fis, "UTF-8");
Om det kommer som en request till en servlet är det bra om man gör httpServletRequest.setCharacterEncoding("UTF-8") innan man börjar läsa från inströmmen.
Hoppas det här hjälper.
phonkworksMedlem sedan juli 2001228 inlägg
Tack Lime!
Det är filer som parsas. Det löste sig genom att jag satte
LANGUAGE=sv_SE
LC_ALL=sv_SE
LANG=sv_SE
i /etc/environment
pust.. :)
Ha en härlig helg!
Mvh
phonk
LimeMedlem sedan sep. 2001837 inlägg
Perfekt!
Men det är säkrare att skriva vilken encoding man vill använda sig av när man läser filen. Då är man inte beroende av vad systemet har satt som locale.