webForumDet fria alternativet

Svenska tecken i HTML-fil sparad som UTF-8

13 svar · 7 021 visningar · startad av erciz

ercizMedlem sedan maj 20011 826 inlägg
#1

Om jag skriver svenska tecken i en HTML-fil och sen sparar den i UTF-8, ska den då visas korrekt i webbläsaren, eller visar svenskspråkiga webbläsare på Windows med Latin-1 som standard?

T.ex. om jag har sidan:

<!DOCTYPE html>
<html>
<head>
<title>Lägg till rad</title>
</head>
<body>
<h1>Lägg till rad</h1>
</body>
</html>

Ovanstående visas "fel" i Google Chrome och Internet Explorer. Jag kan visserligen använda "ANSI" i texteditorn och då visas det rätt. Men bör man inte använda UTF-8?

Om jag vill ha filen i UTF-8, måste jag specificera det i något header-fält? hur?
Jag kan också använda &-tecknet för att få svenska tecken, men jag tror inte det hjälper på användarinput.

voigtann1Medlem sedan juni 20019 519 inlägg
#2

Sätt även <meta charset=utf-8> så den verkligen kör utf-8

ercizMedlem sedan maj 20011 826 inlägg
#3

voigtann1 skrev:

Sätt även <meta charset=utf-8> så den verkligen kör utf-8

Tack! Det verkar fungera. Men vilken character-encoding används som default om jag inte skriver nåt? är det latin-1? borde inte utf-8 vara standard?

nitro2k01Medlem sedan aug. 20039 342 inlägg
#4
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

... heter det. ;)

voigtann1Medlem sedan juni 20019 519 inlägg
#5

nitro2k01 skrev:

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

... heter det. ;)

not with HTML5

ercizMedlem sedan maj 20011 826 inlägg
#6

nitro2k01 skrev:

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

... heter det. ;)

Ja, den ser bättre ut och då får jag med rätt MIME-typ också, tackar.

Men även när jag använder mig av den så visar Internet Explorer 9 sidan med "Västeuropeisk (Windows)" och inte som UTF-8. Varför? går det inte att göra så att även IE9 visar sidan korrekt?

Med Google Chrome så fungerar det bra om jag har ovanstående meta-tagg med.

Och jag antar att Form-data postas med samma encoding som sidan visas, dvs det betyder att form-data som postas from IE9 kommer att skickas med fel character-encoding. :(

Vad gör man åt detta?

ercizMedlem sedan maj 20011 826 inlägg
#7

voigtann1 skrev:

not with HTML5

Ah, är det så det ligger till. Så med HTML5 så kommer mime-typen automatiskt att vara text/html? eller?

TroxyMedlem sedan mars 20041 505 inlägg
#8

erciz skrev:

Tack! Det verkar fungera. Men vilken character-encoding används som default om jag inte skriver nåt? är det latin-1? borde inte utf-8 vara standard?

Om det helt saknas uppgift om character-encoding så försöker webbläsaren att gissa.
Jag har för mig att i princip alla webbläsare väljer Windows-1252 (i praktiken samma som ISO 8859-1/Latin-1, det som slarvigt kallas för ANSI av Notepad).

Character-encoding bör anges i HTTP-headern Content-Type så här:

Content-Type: text/html;charset=utf-8

Men eftersom man inte kan sätta HTTP-headers med HTML så finns det en annan variant med meta-taggen som postades längre upp.

voigtann1Medlem sedan juni 20019 519 inlägg
#9

Läs: http://diveintohtml5.org/semantics.html#encoding skall återkomma med vad Paul Irish har sagt om det, återkommer med länk.

ercizMedlem sedan maj 20011 826 inlägg
#10

erciz skrev:

Men även när jag använder mig av den så visar Internet Explorer 9 sidan med "Västeuropeisk (Windows)" och inte som UTF-8. Varför? går det inte att göra så att även IE9 visar sidan korrekt?

Glöm detta. Hade råkat mata ut lite andra taggar innan min första html-tag, när jag korrigerat detta så fungerar det i IE9 också.

voigtann1Medlem sedan juni 20019 519 inlägg
#11

http://www.youtube.com/watch?v=qyM37XKkmKQ&feature=player_detailpage#t=952s runt den tiden berättar han om meta charset

nitro2k01Medlem sedan aug. 20039 342 inlägg
#12

voigtann1 skrev:

not with HTML5

Åh fan! Fast jag skulle nog undvika att använda sådant som potentiellt har sönder sidan i äldre läsare (även äldre versiner av icke-IE) när det finns ett väl stött sätt att uttrycka det på redan.

voigtann1Medlem sedan juni 20019 519 inlägg
#13

nitro2k01 skrev:

Åh fan! Fast jag skulle nog undvika att använda sådant som potentiellt har sönder sidan i äldre läsare (även äldre versiner av icke-IE) när det finns ett väl stött sätt att uttrycka det på redan.

Kolla youtube länken, webbläsarna har aldrig tolkat meta på det sättet när det gäller encode, så det skall inte vara några problem.

ercizMedlem sedan maj 20011 826 inlägg
#14

voigtann1 skrev:

Kolla youtube länken, webbläsarna har aldrig tolkat meta på det sättet när det gäller encode, så det skall inte vara några problem.

Instämmer. Jag kollade youtube-länken. Jag kör på den korta varianten:

<meta charset="utf-8" />

Jag testade i Internet Explorer 8, 9 och Google Chrome på Windows, det fungerade bra. Jag testade även Google Chrome och Safari på Mac.

138 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)