Gå til innhold

ØÆÅ blir erstattet med rare tegn.


Anbefalte innlegg

Skrevet

Hei,

 

Jobber med eit webmail program og av og til så blir ÆØÅ erstatta med rare tegn mens av og til funker alt som det skal.

 

Dette ligger i header

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

 

Og dette ligger i php koden.

PHP

// fix the charset

header('Content-Type: text/html; charset=ISO-8859-1');

 

Noen som vet kvifor dette skjer?

 

Runar

Videoannonse
Annonse
Skrevet

Det har eg selfølgelig gjort og har prøvd alt som står der, men som sagt så virker det nesten men av og til kommer det opp rare tegn. Veit at dette er eit veldig ofte spurt spørsmål men eg finner rett og slett ikkje ut kva som er feil ..

Gjest Slettet-rXRozPkg
Skrevet

Du må nesten finne ut hva slags tegnsett det er på de dataene du mottar fra mailserveren. Du sier at det er iso-8859-1 til nettleseren, men hvis dette faktisk ikke er tilfelle for alt innhold på siden, så er det jo ikke så rart det ikke virker.

Skrevet (endret)

Fikk programet til å lese headerene og så decode alle utf-8 tekstene. Dette ser ut til å løse problemen.

 

Edit: og eg bruker iso-8859-15 ikkje iso-8859-1 no

Endret av Shadows0
Skrevet

Du må ikke bruke -15 med mindre teksten faktisk er laget med det tegnsettet da. utf8_decode() dekoder til -1, og omtrent alle andre kilder leverer også -1.

Gjest Slettet-rXRozPkg
Skrevet
Jeg og har problemer med ÆØÅ. Alle includes på siden min, har ikke støtte for ÆØÅ. Jeg har prøvd alle forslagene her, uten hell :(

8124775[/snapback]

 

Siden din inneholder jo ingen informasjon om hva slags tegnsett som blir brukt.

 

Etter en rask sjekk med Firefox, så ser jeg at du bruker UTF-8, og da skal man ikke knote med iso-8859-x (som det blir gjort i denne tråden).

 

Legg til dette innenfor <head></head> i HTML-koden din:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

 

Det er forørig mye annet du bør rette opp på siden. Bl.a. sier du heler ikke om du bruker HTML eller XHTML (du bruker HTML, det kan man se ut i fra koden, men det er ikke sikkert at en nettleser klarer å gjette seg til det). Sjekk ut denne, elle søk etter "HTML + DOCTYPE" i din favorittsøkemotor.

Skrevet

Takk, det funket fint på mitt gamle domene domene, (som jeg snart må si opp pga det ikke er gratis :( ), jeg tror ikke gratis hosten min (frac.dk har støtte for ÆØÅ. Kan det være tilfelle? Jeg har og lagt til <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> ettersom siden min kun er standard HTML (skal kansje skrive om til XHTML).

Skrevet

Det er og snakk om php:

Jeg og har problemer med ÆØÅ. Alle includes på siden min, har ikke støtte for ÆØÅ. Jeg har prøvd alle forslagene her, uten hell sad.gif

Som sagt er det includes i php som får problemer med ÆØÅ. Etter at jeg prøvde forslaget til lumted sjer det bare i noen filer, filene er bare txt filer som blir includert for å vise info...

Skrevet
jeg tror ikke gratis hosten min (frac.dk har støtte for ÆØÅ. Kan det være tilfelle?

8127117[/snapback]

Nei.

 

Som sagt er det includes i php som får problemer med ÆØÅ. Etter at jeg prøvde forslaget til lumted sjer det bare i noen filer, filene er bare txt filer som blir includert for å vise info...

8130330[/snapback]

 

Det er bare to muligheter for at det blir feil:

- Teksten er UTF-8 og headeren sier iso-8859-1. (Du får loddrette streker og rare Y-er osv i stedet for øæå.)

- Teksten er iso-8859-1 og headeren sier UTF-8. (Du får firkanter eller spørsmålstegn i stedet for øæå.)

 

I tillegg kan det være et problem at HTTP-headeren sier noe annet enn HTML-headeren.

 

Men i ditt tilfelle kan det hende at txt-filene er lagret i det ene tegnsettet, og php-filene i det andre. Og da blir jo en av dem feil uansett.

 

Så løsningen på øæå-problemer er følgende, uansett:

- Finn ut hva HTTP-headeren sier.

-- Hvis du kan endre den (.htaccess, header() etc.), bestem deg for hvilket tegnsett du vil bruke, og lagre alle filene i det.

-- Hvis du ikke kan endre den, lagre alle filene i det headeren sier.

- Sett alle HTML-headerene til det samme som HTTP-headeren.

 

HTML-headeren vil altså si en av følgende linjer, som plasseres mellom <head> og </head>.

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

 

HTTP-headeren er diverse info som serveren sender til nettleseren før selve html-dokumentet. Den linja vi er interessert i ser omtrent sånn ut:

Content-Type: iso-8859-1

For å se HTTP-headeren, kan du bruke dette plugin-et til FireFox.

Gjest Slettet-rXRozPkg
Skrevet (endret)
Det er og snakk om php:
Jeg og har problemer med ÆØÅ. Alle includes på siden min, har ikke støtte for ÆØÅ. Jeg har prøvd alle forslagene her, uten hell sad.gif

Som sagt er det includes i php som får problemer med ÆØÅ. Etter at jeg prøvde forslaget til lumted sjer det bare i noen filer, filene er bare txt filer som blir includert for å vise info...

8130330[/snapback]

 

Siden det er alle includes du har problemer med, og det bare er vanlige tekstfiler, så tipper jeg dette har med hva salgs tegnsett selve tekstfilen er lagret med.

Har du en skikkelig editor, så burde denne la deg spesifisere tegnsettet ved lagring.

Endret av Slettet-rXRozPkg
Skrevet (endret)

Fungerte strålene å endre tegnsett selve filen ble lagret med ;) Burde ha tenkt på dette selv :blush:

 

Edit: En "Leif"...

Endret av mhbakke

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...