Refragatio Skrevet 24. november 2011 Del Skrevet 24. november 2011 Hei, driver på med et lite prosjekt i python som inngår en del fillesing. Det er ingen problemer med å for eksempel ta: print 'æøå' i scriptet mitt, men når eg leser inn filer følger ikkje dei tegna med, noen som har en forklaring på det? Lenke til kommentar
BlueEAGLE Skrevet 24. november 2011 Del Skrevet 24. november 2011 Høres veldig ut som UTF-8-problematikk. Lenke til kommentar
Refragatio Skrevet 24. november 2011 Forfatter Del Skrevet 24. november 2011 Har med coding linje, men virker ikkje som den vil virke inn på filene som leses inn? Lenke til kommentar
etse Skrevet 24. november 2011 Del Skrevet 24. november 2011 Men filen du leser fra, hvilken encoding bruker den? Lenke til kommentar
Refragatio Skrevet 24. november 2011 Forfatter Del Skrevet 24. november 2011 Usikker, vanlig .txt fil med dictionaries, hvordan kan jeg sjekke? Lenke til kommentar
zotbar1234 Skrevet 24. november 2011 Del Skrevet 24. november 2011 Usikker, vanlig .txt fil med dictionaries, hvordan kan jeg sjekke? Så du vet ikke hva du leser inn? Så fint... (Men file-verktøyet kan jo brukes til slikt i *nix-verden. F.eks.) Lenke til kommentar
etse Skrevet 24. november 2011 Del Skrevet 24. november 2011 Om du ikke finner ut av det, er det noe hemmelige greier? Hvis ikke kan du bare legge den ut sånn at vi kan sjekke for deg. Lenke til kommentar
Refragatio Skrevet 25. november 2011 Forfatter Del Skrevet 25. november 2011 http://pastebin.com/61F5N3RL Her er kodene, informasjonen blir hentet fra linken i kodene. På forhånd takk Lenke til kommentar
zotbar1234 Skrevet 25. november 2011 Del Skrevet 25. november 2011 http://pastebin.com/61F5N3RL Her er kodene, informasjonen blir hentet fra linken i kodene. På forhånd takk Ok, så kildefilen er i cp1252 (*why* would you do **THAT**?!), mens du får (ikke uventet) data kodet i utf-8. Så langt, så vel. Men hva spesifikt er problemet? "tegna følger ikke med" gir simpeltheten ikke mening ("od -c" sier at de gjør det, og det ville vært fryktelig merkelig om å hente et dokument over http skulle medføre noe annet). Etter å ha fått dataene i utf-8, kan du enten bearbede dem videre som unicode-objekter i Python internt (og da må du decode() dem (beklager språkblandingen) fra en strøm i utf-8 til unicode-objekter), eller beholde dataene som strings (altså str), men da må du huske på at for å få noen tegn kodet i utf-8 som ikke finnes i cp1252 (og det er jaggu meg mange), vil du måtte ta visse grep. Hva rent konkret er det du mener er feil? Lenke til kommentar
snippsat Skrevet 26. november 2011 Del Skrevet 26. november 2011 return f.read().decode('utf-8') Da ser du nok 'æøå' Lenke til kommentar
Refragatio Skrevet 26. november 2011 Forfatter Del Skrevet 26. november 2011 Då var problemet løst, takker så meget for hjelp Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå