Sida 1 av 1

utf-8 visar inte å, ä, ö

Postat: 07 jan 2010, 12:13
av SlamsornasKung
Vänner, jag förstår inte varför inte mina å, ä och ö inte visas korrekt när jag slänger upp det på servern. Så här ser det ut i koden:

Kod: Markera allt

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="berland1.css"/>
</head>
Lik förb****t så får jag ett frågetecken i en såndär svart rombisk bakgrund istället för vanliga å ä ö. Vad är det mer som behövs?

Tack på förhand!

SK

Re: utf-8 visar inte å, ä, ö

Postat: 07 jan 2010, 12:29
av Osprey
Är dokumentet verkligen skrivet med UTF-8 då..? Eller är det egentligen skrivet/lagrat i något annat format..??

Det här skulle kanske kunna ha att göra med hur den disken som dokumentet ligger på är monterad, dvs. vilken "locale" den har. När det gäller ext2/3/4 så har jag aldrig haft några problem, men för NTFS så måste jag använda locale=sv_SE.UTF-8 för att det ska bli rätt...

Re: utf-8 visar inte å, ä, ö

Postat: 07 jan 2010, 12:40
av SlamsornasKung
Osprey skrev:Är dokumentet verkligen skrivet med UTF-8 då..? Eller är det egentligen skrivet/lagrat i något annat format..??

Det här skulle kanske kunna ha att göra med hur den disken som dokumentet ligger på är monterad, dvs. vilken "locale" den har. När det gäller ext2/3/4 så har jag aldrig haft några problem, men för NTFS så måste jag använda locale=sv_SE.UTF-8 för att det ska bli rätt...
Hallå!

Jag kan inte riktigt svara på din fråga, den övergår min kompetens är jag rädd! Den är gjord i Karmic på en HP, med Gedit, så mycket vet jag i alla fall!

Re: utf-8 visar inte å, ä, ö

Postat: 07 jan 2010, 13:09
av Osprey
Prova med "charset=ISO-8859-1" eller i värsta fall "charset=windows-1252" i html-filen...

Re: utf-8 visar inte å, ä, ö

Postat: 07 jan 2010, 14:04
av Lars
Om du är osäker på vilken teckenkodning som verkligen används i filen så kan du enkelt testa dig fram. I Firefox kan du gå till menyn visa -> kodning och tvinga fram utf-8 eller iso-8859-1 (de mest troliga alternativen). När åäö ser rätt ut så vet du vilken teckenkodning filen är i. För övrigt är windows-1252 i stort sett samma sak som iso-8859-1, vissa specialtecken skiljer sig men bokstäverna a-ö är samma.

Re: utf-8 visar inte å, ä, ö

Postat: 07 jan 2010, 15:27
av SlamsornasKung
Lars skrev:Om du är osäker på vilken teckenkodning som verkligen används i filen så kan du enkelt testa dig fram. I Firefox kan du gå till menyn visa -> kodning och tvinga fram utf-8 eller iso-8859-1 (de mest troliga alternativen). När åäö ser rätt ut så vet du vilken teckenkodning filen är i. För övrigt är windows-1252 i stort sett samma sak som iso-8859-1, vissa specialtecken skiljer sig men bokstäverna a-ö är samma.
Det blir bara mer och mer underligt. Jag kollade teckenkodningen, och den är Unicode (UTF-8) enligt browsern.

Märkligt är det!

Re: utf-8 visar inte å, ä, ö

Postat: 07 jan 2010, 15:39
av Osprey
SlamsornasKung skrev:Det blir bara mer och mer underligt. Jag kollade teckenkodningen, och den är Unicode (UTF-8) enligt browsern.

Märkligt är det!
Ja teckenkodningen i browsern, eller rättare sagt på sidan så som browsern upplever den, är ju utf-8 eftersom du har sagt att det ska vara det. Men frågan är vad (html-)dokumentet egentligen är skrivet i för kodning. Prova att byta ut charset till iso-8859-1 i det och se vad som händer...

Re: utf-8 visar inte å, ä, ö

Postat: 12 jan 2010, 12:20
av SlamsornasKung
Osprey skrev:
SlamsornasKung skrev:Det blir bara mer och mer underligt. Jag kollade teckenkodningen, och den är Unicode (UTF-8) enligt browsern.

Märkligt är det!
Ja teckenkodningen i browsern, eller rättare sagt på sidan så som browsern upplever den, är ju utf-8 eftersom du har sagt att det ska vara det. Men frågan är vad (html-)dokumentet egentligen är skrivet i för kodning. Prova att byta ut charset till iso-8859-1 i det och se vad som händer...
Jag får ingen rätsida på det här. Hur får jag reda på vad html-dokumentet har för kodning? Vad är det för defaultkodning i Gedit, det är där jag skriver och sparar.

Edit: Dessutom; å, ä, ö visas ALLTID som de ska när jag kollar lokalt i browsern, det är först när jag lägger upp på servern som det ballar ur.

Re: utf-8 visar inte å, ä, ö

Postat: 12 jan 2010, 12:34
av Hund
När du väljer "Spara som" i Gedit får du välja teckenkodning, standard är UTF-8.

Re: utf-8 visar inte å, ä, ö

Postat: 12 jan 2010, 14:59
av Osprey
Hund skrev:När du väljer "Spara som" i Gedit får du välja teckenkodning, standard är UTF-8.
Jag har fått lite skillnad på det där iofs med "vim", men där har standardformatet påverkats av vad det är för filsystem och kodning på disken där filen ligger och hur filen ursprungligen skapades...

Re: utf-8 visar inte å, ä, ö

Postat: 12 jan 2010, 15:42
av SlamsornasKung
Hund skrev:När du väljer "Spara som" i Gedit får du välja teckenkodning, standard är UTF-8.
Jag trodde just det, men ändå blir det fel. Kan det ha med servern att göra, för som sagt, det funkar ALLTID lokalt. Ledsen om jag är tjatig, men jag vill verkligen förstå det här.

SK

Re: utf-8 visar inte å, ä, ö

Postat: 12 jan 2010, 16:38
av Osprey
SlamsornasKung skrev: Jag trodde just det, men ändå blir det fel. Kan det ha med servern att göra, för som sagt, det funkar ALLTID lokalt. Ledsen om jag är tjatig, men jag vill verkligen förstå det här.
Vad servern har för teckenkodning ska inte spela någon roll, egentligen är bokstäverna i ett html-dokument bara binärdata som servern inte egentligen bryr sig om alls vad det är. De viktigaste sakerna i det här sammanhanget är vilket teckenformat dokumentet egentligen ligger kodat i och vilket teckenformat webbläsaren förväntar sig att det ska vara. Det formatet som webbläsaren förväntar sig kan du ju styra med "charset" i dokumentet och om det du säger där motsvarar vad dokumentet i verkligheten är kodat i så ska allting bli rätt.

Vad händer om du ändrar "charset=utf-8" till "charset=iso-8859-1" i dokumentet och lägger ut det på servern och provar igen..?

Re: utf-8 visar inte å, ä, ö

Postat: 12 jan 2010, 16:41
av SlamsornasKung
Jag ska testa. Återkommer!

Okej, med utf-8 får jag ett ”?” i en svart fyrkant istället för ”ö”, med ISO-8859-1 ersätts ”ö” med ”” och ”ä” med ".

Såhär ser det ut i min kod:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="sv" xml:lang="sv">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />


Och dokumentet är sparat i Unicode UTF-8. Jag hajar nada!

Re: utf-8 visar inte å, ä, ö

Postat: 12 jan 2010, 17:39
av Hund
Jag testade din kod på min dator och min server, båda visade å,ä och ö korrekt. Du har inte lust att länka till servern? Kan ju vara din webbläsare som knasar med? :)

Re: utf-8 visar inte å, ä, ö

Postat: 13 jan 2010, 12:46
av SlamsornasKung
Hund skrev:Jag testade din kod på min dator och min server, båda visade å,ä och ö korrekt. Du har inte lust att länka till servern? Kan ju vara din webbläsare som knasar med? :)
Jag tror inte jag kan länka till servern, den står inte på mig nämligen. Webbläsaren är det inte, har testat i ”alla” och det blir samma fel. Jag ger upp tillsvidare och fortsätter med mina ö med mera. Tack ska ni ha för all hjälp, det uppskattas verkligen.

Re: utf-8 visar inte å, ä, ö

Postat: 13 jan 2010, 19:22
av bjoost61
borttaget

Re: utf-8 visar inte å, ä, ö

Postat: 13 jan 2010, 20:12
av Lars
Felet beror förmodligen på att den teckenkodning som webbservern rapporterar inte stämmer överens med filens teckenkodning, och med vad som anges i meta-tagen. Alla tre måste vara samma.

Om man visar filer lokalt (file://) så tas teckenkodningen från meta-tagen, och det verkar ju fungera.

Men man visar filer via http så används headers i själva http-protokollet. I t.ex. Apache kan man använda AddDefaultCharset för att ange detta. Du kan kolla detta m.h.a. wget. T.ex. wget -S http://ubuntu-se.org/drupal/ ger följande:

Kod: Markera allt

  HTTP/1.1 200 OK
  Date: Wed, 13 Jan 2010 17:42:34 GMT
  Server: Apache/2.2.8 (Ubuntu) DAV/2
  X-Powered-By: PHP/5.2.4-2ubuntu5.9
  ETag: "ecc68b689da6c30af4c68fff90e57d4a"
  Expires: Sun, 19 Nov 1978 05:00:00 GMT
  Cache-Control: must-revalidate
  Set-Cookie: SESS8cf35dad143c0b04bd69d81fccb7468e=a290dd34c358e5a53dbd531bd13858e9; expires=Fri, 05 Feb 2010 21:15:54 GMT; path=/; domain=.ubuntu-se.org
  Last-Modified: Wed, 13 Jan 2010 17:17:52 GMT
  Connection: close
  Content-Type: text/html; charset=utf-8
Som du ser står det "charset=utf-8" så alla HTML-filer måste vara kodade i UTF-8. Kolla med wget mot din server och se vad som står där. Använd sedan samma teckenkodning när du sparar filen och i meta-tagen.

Re: utf-8 visar inte å, ä, ö

Postat: 14 jan 2010, 10:43
av SlamsornasKung
Tack Lars, det känns som om jag nu börjar förstå var roten till problemet ligger.

SK