/ Forside / Teknologi / Udvikling / HTML / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
HTML
#NavnPoint
molokyle 11184
Klaudi 5506
bentjuul 3377
severino 2040
smorch 1950
strarup 1525
natmaden 1396
scootergr.. 1320
e.c 1150
10  miritdk 1110
Character Encoding
Fra : postmaster@kimage.dk


Dato : 12-02-07 20:05

Hej med jer, det emne jeg kunne tænke mig at vende er, hvorfor skal
jeg bekymre mig om Character Encoding og begreber som UTF-8 og
ISO-8859-1

Jeg er en af de der "slemme" der laver slamkode, og har nu
konstanteret at jeg har misset Character Encoding.

Jeg har taget lidt tags med:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://
www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<meta http-equiv="content-type" content="text/html;
charset=ISO-8859-1" />

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


Hvad for nogen skal jeg bruge og hvad er forskellen?


 
 
Jørgen Farum Jensen (12-02-2007)
Kommentar
Fra : Jørgen Farum Jensen


Dato : 12-02-07 21:12

postmaster@kimage.dk skrev:

> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
>
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://
> www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
>
> <meta http-equiv="content-type" content="text/html;
> charset=ISO-8859-1" />
>
> <meta http-equiv="content-type" content="text/html; charset=UTF-8">
>
>
> Hvad for nogen skal jeg bruge og hvad er forskellen?

Jeg foreslår

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html lang="da">
<head>
<title>[ Siden titel ]</title>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1" />
+ andet der skal i head-delen ]
</head>

Hvis du bruger charset utf-8 får du adgang til
et større tegnsæt, hvis du vel at mærke bruger
html-tegnækvivalenter for hele det udvidede tegnsæt,
herunder æøå og ÆØÅ.

Når jeg anbefaler Strict dokumenttypeerklæringen er
det fordi det tvinger én til at skrive kode, der ikke er
slam - selvom foruddsat at man validerer sine websider.

Jeg har selv i nogle år brugt (og anbefalet) xhtml
transitional eller strict, men jeg er blevet overbevist
om at vende tilbage til HTML - blandt andet af
en række debatter her i gruppen, samt nogle ulemper ved
xhtml i forbindelse med JavaScript 2 og DOM scripting,
som jeg for nylig er stødt på.

--

Med venlig hilsen
Jørgen Farum Jensen
Håndbog i websidekonstruktion:
http://webdesign101.dk/wwwbog/udgave2/
Webdesign med stylesheets: http://webdesign101.dk/cssbog/
..

Jens Gyldenkærne Cla~ (12-02-2007)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 12-02-07 23:48

Jørgen Farum Jensen skrev:

> Hvis du bruger charset utf-8 får du adgang til
> et større tegnsæt,

Jep.

> hvis du vel at mærke bruger html-tegnækvivalenter for hele det
> udvidede tegnsæt, herunder æøå og ÆØÅ.

Hvad for noget? Mener du at man skal skrive &aelig;, &oslash; og
&aring; hvis man bruger utf-8? Det er ikke tilfældet - snarere
tværtimod. Med Latin-1 (iso-8859-1) har man direkte adgang til 256
tegn. I utf-8 er det tilsvarende tal 96447 (og standarden har plads
til mere end 800000 ekstra tegn hvis man finder på at lægge flere
ind).

Anvender man Latin-1 kan man fint skrive normale danske tekster
uden at bruge entiteter. Hvis man anvender utf-8, kan man i denne
samme tekst inkludere oversættelser på kinesisk, russisk og
japansk, benytte specielle matematiske tegn og meget andet sjov -
uden nogen form for specialkodning (man skal så bare have en editor
der kan finde ud af at skrive disse tegn).

Der hvor det imidlertid kan gå galt med utf-8 er hvis man siger man
anvender det uden at gøre det i virkeligheden. I modsætning til en
doctypeerklæring bliver en tegnsætserklæring (som regel) taget
alvorligt en en browser. De editorer jeg kender til, gemmer som
standard filer i Latin-1 (eller noget der minder om det - fx
windows-1252). Hvis man angiver iso-8859-1 som tegnsæt i html-
filen, behøver man derfor ikke at gøre mere for at det virker.
Omvendt er det ikke nok at skrive "utf-8" i tegnsætkoden for at
anvende utf - man skal også gemme filen i utf-8-tegnsættet. Gør man
ikke det, vil æøå vises forkert (medmindre man så konverterer dem
til html-entiteter). Ascii-tegn vises korrekt uanset om en Latin-1-
side fortolkes som utf-8 eller en utf-8-side fortolkes som Latin-1,
af den simple grund at begge tegnsæt repræsenterer de 128 ascii-
tegn helt ens.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Jørgen Farum Jensen (13-02-2007)
Kommentar
Fra : Jørgen Farum Jensen


Dato : 13-02-07 15:24

Jens Gyldenkærne Clausen skrev:

> Der hvor det imidlertid kan gå galt med utf-8 er hvis man siger man
> anvender det uden at gøre det i virkeligheden. I modsætning til en
> doctypeerklæring bliver en tegnsætserklæring (som regel) taget
> alvorligt en en browser. De editorer jeg kender til, gemmer som
> standard filer i Latin-1 (eller noget der minder om det - fx
> windows-1252). Hvis man angiver iso-8859-1 som tegnsæt i html-
> filen, behøver man derfor ikke at gøre mere for at det virker.
> Omvendt er det ikke nok at skrive "utf-8" i tegnsætkoden for at
> anvende utf - man skal også gemme filen i utf-8-tegnsættet. Gør man
> ikke det, vil æøå vises forkert (medmindre man så konverterer dem
> til html-entiteter).

Det var sådan set det, jeg mente, uden at jeg selv havde
gjort mig det helt klart.

Tak for en god forklaring.

--

Med venlig hilsen
Jørgen Farum Jensen
Håndbog i websidekonstruktion:
http://webdesign101.dk/wwwbog/udgave2/
Webdesign med stylesheets: http://webdesign101.dk/cssbog/
..

Kerim Ellentoft (13-02-2007)
Kommentar
Fra : Kerim Ellentoft


Dato : 13-02-07 00:28

Jørgen Farum Jensen <jfjenzen@yahoo.dk> skrev :

><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
>"http://www.w3.org/TR/html4/strict.dtd">
....
><meta http-equiv="Content-Type" content="text/html;
>charset=iso-8859-1" />

Så har man da sikret sig sin første valideringsfejl, som udløser
flere.

--
Kerim
»Søger nogen en anden religion end Islam, skal den ikke modtages
af Ham, og han skal i det kommende liv være blandt taberne.«
(Sura 3, vers 87)

Jørn Andersen (13-02-2007)
Kommentar
Fra : Jørn Andersen


Dato : 13-02-07 02:03

On Tue, 13 Feb 2007 00:27:38 +0100, Kerim Ellentoft
<kerim@mail.tele.invalid> wrote:

>Jørgen Farum Jensen <jfjenzen@yahoo.dk> skrev :
>
>><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
>>"http://www.w3.org/TR/html4/strict.dtd">
>...
>><meta http-equiv="Content-Type" content="text/html;
>>charset=iso-8859-1" />
>
>Så har man da sikret sig sin første valideringsfejl, som udløser
>flere.

Ja, jeg så den også, men tænkte han skulle have en chance for selv at
finde den

Mvh. Jørn

--
Jørn Andersen, Brønshøj

Danske tropper hjem fra Irak, nu!
Skriv under: www.kirkmand-initiativet.dk

Jørgen Farum Jensen (13-02-2007)
Kommentar
Fra : Jørgen Farum Jensen


Dato : 13-02-07 10:54

Kerim Ellentoft skrev:
> Jørgen Farum Jensen <jfjenzen@yahoo.dk> skrev :
>
>> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
>> "http://www.w3.org/TR/html4/strict.dtd">
> ...
>> <meta http-equiv="Content-Type" content="text/html;
>> charset=iso-8859-1" />
>
> Så har man da sikret sig sin første valideringsfejl, som udløser
> flere.
>

Jeg kan da godt se det, Kerim, men af hensyn til
"postmaster" burde du nok have gjort opmærksom på,
hvilken fejl, der er tale om, nemlig at

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

idet HTML i modsætning til XHTML ikke kræver
afslutning af tomme markører.


--

Med venlig hilsen
Jørgen Farum Jensen
Håndbog i websidekonstruktion:
http://webdesign101.dk/wwwbog/udgave2/
Webdesign med stylesheets: http://webdesign101.dk/cssbog/
..

Kerim Ellentoft (13-02-2007)
Kommentar
Fra : Kerim Ellentoft


Dato : 13-02-07 20:31

Jørgen Farum Jensen <jfjenzen@yahoo.dk> skrev :

>idet HTML i modsætning til XHTML ikke kræver
>afslutning af tomme markører.

Og metatags må slet ikke være lukkede i html.

--
Kerim
»Søger nogen en anden religion end Islam, skal den ikke modtages
af Ham, og han skal i det kommende liv være blandt taberne.«
(Sura 3, vers 87)

Jens Gyldenkærne Cla~ (13-02-2007)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 13-02-07 00:59

skrev:

> Interessant.

Hvad er interessant? Det er svært at se hvad du kommenterer når du
ikke citerer noget. Læs gerne min signatur.

> En anden ting som jeg synes er interessant er at
> google ikke bruger <!DOCTYPE> flere steder?

Google følger desværre ikke webstandarderne ret godt.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Martin (13-02-2007)
Kommentar
Fra : Martin


Dato : 13-02-07 14:02

Jørgen Farum Jensen wrote:
> Jeg har selv i nogle år brugt (og anbefalet) xhtml
> transitional eller strict, men jeg er blevet overbevist
> om at vende tilbage til HTML - blandt andet af
> en række debatter her i gruppen, samt nogle ulemper ved
> xhtml i forbindelse med JavaScript 2 og DOM scripting,
> som jeg for nylig er stødt på.

Hmm...
Hvor har du det fra at JS2 ikke virker så godt med XHTML?


Jeg er da endnu ikk stødt på noget JS som ikke har virket med XHTML 1.0
strict.

Christoffer Kjeldgaa~ (13-02-2007)
Kommentar
Fra : Christoffer Kjeldgaa~


Dato : 13-02-07 14:53

Martin skrev:
> Jeg er da endnu ikk stødt på noget JS som ikke har virket med XHTML 1.0
> strict.

Prøv at tage et kig på mine to testsider her:

http://sappy.dk/xhtml/text-html
http://sappy.dk/xhtml/application-xhtml

Siderne har det samme indhold, bortset fra at den ene sendes med
MIME-typen text/html og den anden med application/xhtml+xml.
Begge sider indeholder et simpelt Javascript, som udskriver en tekst med
document.write(). Dog udskrives der intet på siden sendt med
application/xhtml+xml. Hvis det skulle virke, skulle man netop bruge
noget DOM-scripting.

Derudover kan der være nogle andre ulemper, som Jørgen også er lidt inde
på. Blandt andet problemerne med script- og style-blokke, samt at
body-elementet også opfører sig forskelligt i XHTML og HTML.

--
Christoffer Kjeldgaard Petersen

Martin (13-02-2007)
Kommentar
Fra : Martin


Dato : 13-02-07 15:44

Christoffer Kjeldgaard Petersen wrote:
> Martin skrev:
>> Jeg er da endnu ikk stødt på noget JS som ikke har virket med XHTML
>> 1.0 strict.
>
> Prøv at tage et kig på mine to testsider her:
>
> http://sappy.dk/xhtml/text-html
> http://sappy.dk/xhtml/application-xhtml

Hvis du fjerner linjen
<?xml version="1.0" encoding="utf-8"?>

Så sender den stadig content som text/html
Og man selvfølgelig sætter IE i standard mode.

Christoffer Kjeldgaa~ (13-02-2007)
Kommentar
Fra : Christoffer Kjeldgaa~


Dato : 13-02-07 16:20

Martin skrev:
>> http://sappy.dk/xhtml/text-html
>> http://sappy.dk/xhtml/application-xhtml
>
> Hvis du fjerner linjen
> <?xml version="1.0" encoding="utf-8"?>
>
> Så sender den stadig content som text/html
> Og man selvfølgelig sætter IE i standard mode.

Det er jeg ikke sikker på jeg forstod fuldstændigt.

XML-deklarationen er kun sat på den side som sendes med MIME-typen
application/xhtml+xml. Om jeg fjerner den eller ej, gør det ingen
forskel. Siden bliver stadig sendt som application/xhtml+xml, og
Internet Explorer kan end ikke åbne den side.

--
Christoffer Kjeldgaard Petersen

Jørgen Farum Jensen (13-02-2007)
Kommentar
Fra : Jørgen Farum Jensen


Dato : 13-02-07 14:59

Martin skrev:

> Hvor har du det fra at JS2 ikke virker så godt med XHTML?
>
>
> Jeg er da endnu ikk stødt på noget JS som ikke har virket med XHTML 1.0
> strict.

Det er jeg heller ikke i praksis, men jf.
adskillige diskussioner her i gruppen - nogle browsere
accepterer ikke den korrekte mime-type for xhtml,
som er application/xhtml+xml.

(http://hixie.ch/advocacy/xhtml)

Efter sigende er der nogle browsere hvis BOM ikke
understøtter document.forms, document.images,
document.links osv, så du er tvunget til at
bruge getElementByTagName, og man kan - igen
efter sigende - ikke bruge document.createElement,
hvis dit dokument parses som xhtml.

(Stuart Langridge: Modern Web Design)

Jeg har ikke kigget efter, men jeg er ret sikker
på at du også kan finde noget på quirksmode.org.

Det korte af det lange er iflg Stuart, at gevinsterne
ved at bruge xhtml ikke opvejes af ulemperne.

Det, der i øjeblikket optager mig er at finde
vej fremad fra validerende og tilgængelig (x)html og
css til validerende, tilgængelig og "unobtrusive"
(x)html og css + DOM scripting i et "behavior"
layer.

Og HTML4.01 er en gyldig standard.

Til sidst - jeg har overhovedet ingen religiøse
følelser om det her - jeg prøver bare at finde
ud af noget, og svarede på "postmaster"s spørgsmål
som jeg bedst kunne.
--

Med venlig hilsen
Jørgen Farum Jensen
Håndbog i websidekonstruktion:
http://webdesign101.dk/wwwbog/udgave2/
Webdesign med stylesheets: http://webdesign101.dk/cssbog/
..

Martin (13-02-2007)
Kommentar
Fra : Martin


Dato : 13-02-07 15:51

Jørgen Farum Jensen wrote:
> Efter sigende er der nogle browsere hvis BOM ikke
> understøtter document.forms, document.images,
> document.links osv, så du er tvunget til at
> bruge getElementByTagName, og man kan - igen
> efter sigende - ikke bruge document.createElement,
> hvis dit dokument parses som xhtml.

createElement, virker nu fint.
document.links/images/osv. mener jeg også er fra den gamle version af JS
(1.0?)

>
> (Stuart Langridge: Modern Web Design)
>
> Jeg har ikke kigget efter, men jeg er ret sikker
> på at du også kan finde noget på quirksmode.org.
>
> Det korte af det lange er iflg Stuart, at gevinsterne
> ved at bruge xhtml ikke opvejes af ulemperne.

Hvis man arbejder med XML, så er fordelene doblet en hel del op.
og alt det jeg har lavet her på det sidste sender text/xml mime ud, og
her har jeg også leget med javascript.

Men jeg har dog kun brugt document.getElement og ikke brugt
document.images osv. og her virker det jeg har lavet ihvertfald helt fint.

> Og HTML4.01 er en gyldig standard.

Ja da, men gammel efterhånden...

> Til sidst - jeg har overhovedet ingen religiøse
> følelser om det her - jeg prøver bare at finde
> ud af noget, og svarede på "postmaster"s spørgsmål
> som jeg bedst kunne.

Nej da - heller ikke mig, men jeg forsøger nu bare at få det bedste ud
af at arbejde med XML/XSL og javascript.

postmaster@kimage.dk (12-02-2007)
Kommentar
Fra : postmaster@kimage.dk


Dato : 12-02-07 22:47

Tak for dit svar, men jeg er stadigv?k lidt forvirret.

Jeg kan se pointen med:

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

men <!DOCTYPE> ? hvorfor skal den med, jeg kan ikke se forskel om den
er med, eller ikke er med?



Christoffer Kjeldgaa~ (12-02-2007)
Kommentar
Fra : Christoffer Kjeldgaa~


Dato : 12-02-07 23:08

postmaster@kimage.dk skrev:
> men <!DOCTYPE> ? hvorfor skal den med, jeg kan ikke se forskel om den
> er med, eller ikke er med?

Se her: http://hintzmann.dk/articles/doctype/#hvorfor

--
Christoffer Kjeldgaard Petersen
http://sappy.dk/

postmaster@kimage.dk (13-02-2007)
Kommentar
Fra : postmaster@kimage.dk


Dato : 13-02-07 00:17

Interessant. En anden ting som jeg synes er interessant er at google
ikke bruger <!DOCTYPE> flere steder?


postmaster@kimage.dk (13-02-2007)
Kommentar
Fra : postmaster@kimage.dk


Dato : 13-02-07 13:24

> > Jørgen Farum Jensen <jfjen...@yahoo.dk> skrev :

> <meta http-equiv="Content-Type" content="text/html;
> charset=iso-8859-1" />
> skal være
> <meta http-equiv="Content-Type" content="text/html;
> charset=iso-8859-1">
>
> idet HTML i modsætning til XHTML ikke kræver
> afslutning af tomme markører.

Tak for det.


Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408938
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste