oladunken Skrevet 13. april 2008 Del Skrevet 13. april 2008 (endret) Jeg benytter et Perl-script for å grabbe linker på websider. Problemet er i de tilfellene der det er andre tegn enn standard engelske tegn i titlene på linkene, og spesielt der det er "æøå" med. Det jeg synes er snodig er at noen linker vil gjengi æøå mens andre ser slik ut: - - Vi frykter brÃ¥k - Jeg møtte veggen - Sør-Arena var et pengesluk - - HÃ¥per Lillestrøm fÃ¥r ut fingeren - Færre innlegg er bedre Men det ser ut til at alle link-titlene på en site gjengir alle forekomster av æøå riktig eller alle feil. Noen som vet hva dette kommer av og hva jeg kan gjøre med det? Er dette noe som er relatert til enkodingen på html-siden jeg besøker, noe som mangler i Perl-scriptet eller er det rett og slett konfigurering på min Linux Fedora maskin som mangler. Har prøvd å redigere i i18n-filen under /etc/sysconfig, men har ikke klart å endre resultatet. Perl-scriptet bruker følgende moduler : use Getopt::Long; use LWP; use LWP::RobotUA; use MD5; use strict; use URI::URL; Endret 14. april 2008 av oladunken Lenke til kommentar
serrghi Skrevet 18. april 2008 Del Skrevet 18. april 2008 husker ikke helt hvordan det ble skrevet, ettersom jeg er på jobb. Men du må si til scriptet at det skal bruke utf8 om det er det du bruker som tegnsett på fedora maskinen din. Om du har locale nb_NO.utf8 eller noe på fedora maskinen, så må du si til scriptet at det skal bruke utf8 også. Husker ikke hvordan dette ble gjort. for å se hvilket tegnsett som blir brukt på maskinen, åpne terminal og skriv locale Lenke til kommentar
FenrisC0de Skrevet 23. april 2008 Del Skrevet 23. april 2008 Er ikke sikker på om jeg har løsningen, men du kan jo titte litt på den artikkelen her Lykke til! Lenke til kommentar
andremar Skrevet 25. april 2008 Del Skrevet 25. april 2008 (endret) http://cpansearch.perl.org/~dankogai/Encode-2.24/Encode.pm og use utf8; er kun for at kompilatoren skal forstå utf-8, og har ingenting med data på vei inn og ut av perl, for å si det litt enkelt. Endret 25. april 2008 av andremar Lenke til kommentar
trtrtr Skrevet 9. juni 2008 Del Skrevet 9. juni 2008 Char Ascii Hex Binary S 83 53 01010011 Ã 195 c3 11000011 ¸ 184 b8 10111000 r 114 72 01110010 - 45 2d 00101101 A 65 41 01000001 r 114 72 01110010 e 101 65 01100101 n 110 6e 01101110 a 97 61 01100001 Vi ser at "ø" er representert av to byte chars, 0xc3 og 0xb8. Dette er utf8 encoding av ø (dvs \xF8): my $char = "\xF8"; $char = Encode::encode( 'utf8', $char ); Vi har altså utf8 data som ikke er blitt tolket korrekt. For å tvinge perl til å tolke data som utf8: $data = Encode::decode( 'utf8', $data ); 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å