webForumDet fria alternativet

panik, parsa xml med SAX i linux...

3 svar · 629 visningar · startad av phonkworks

phonkworksMedlem sedan juli 2001228 inlägg
#1

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
#2

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
#3

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
#4

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.

Genererad på 365 ms · cache AV · v20260730165559-full.f96bc7eb