10. januar 2012 - 17:41Der er
6 kommentarer og 1 løsning
æøå = 65533
Problemet er at jeg har en stump kode der kompileret i Eclipse, på en mac, fint kan tolke 230 som værende 'æ' i en streng, men selv samme kode ændre værdien til 65533 når jeg kompiler og eksekvere det på en Debian 6 vha. ssh.
Da jeg selv er på bar bund, koder for det meste i Java og knapt så meget C, tager jeg gerne imod alle mulige, og umulige, forslag til at få dette til at 'spille'.
Hvis jeg skulle gaette saa tror jeg at flytningen fra Mac til Debian forventer at filen er i UTF-8 og at et æ i ISO-8859-1 derfor er en illegal karakter og bliver konverteret til 0xFFFD.
Det er også testet at æ, ø og å har de korrekte værdier når de bliver fodret til C-koden men den ændre dem stadigvæk til 0xFFFD.
Ved ikke om det kan være fordi jeg kalder programmet fra Java kode ved hjælp af Process og så tager output der fra og bruger til sammenligning af strenge.
Tror jeg fandt fejlen. Lader ihvertfald til at skidtet virker nu. Har en InputStreamReader der lod til at læse, muligvis i UTF-8 per default. Da jeg tvang den til at tage ISO-8859-1 charset køre det nu.
Sjovt som man kan stirre sig blind på de små detaljer.
Smider du et svar Arne da jeg trods alt har taget lidt af din tid her til aften?
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.