Refragatio Skrevet 24. november 2011 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?
BlueEAGLE Skrevet 24. november 2011 Skrevet 24. november 2011 Høres veldig ut som UTF-8-problematikk.
Refragatio Skrevet 24. november 2011 Forfatter Skrevet 24. november 2011 Har med coding linje, men virker ikkje som den vil virke inn på filene som leses inn?
etse Skrevet 24. november 2011 Skrevet 24. november 2011 Men filen du leser fra, hvilken encoding bruker den?
Refragatio Skrevet 24. november 2011 Forfatter Skrevet 24. november 2011 Usikker, vanlig .txt fil med dictionaries, hvordan kan jeg sjekke?
zotbar1234 Skrevet 24. november 2011 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.)
etse Skrevet 24. november 2011 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.
Refragatio Skrevet 25. november 2011 Forfatter Skrevet 25. november 2011 http://pastebin.com/61F5N3RL Her er kodene, informasjonen blir hentet fra linken i kodene. På forhånd takk
zotbar1234 Skrevet 25. november 2011 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?
snippsat Skrevet 26. november 2011 Skrevet 26. november 2011 return f.read().decode('utf-8') Da ser du nok 'æøå'
Refragatio Skrevet 26. november 2011 Forfatter Skrevet 26. november 2011 Då var problemet løst, takker så meget for hjelp
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å