Avatar billede kwanstudios Nybegynder
03. marts 2003 - 12:21 Der er 32 kommentarer og
2 løsninger

XHTML godkender ikke danske karakterer?

Jeg har en XHTML side med følgende top;

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="da">

der er på siden et par danske bogstaver (æ, ø, å) men ved W3C's validering vil den ikke godkende disse. Hvad gør jeg forkert?
Avatar billede kwanstudios Nybegynder
03. marts 2003 - 12:22 #1
Dette er validator fejlen; Sorry, I am unable to validate this document because on line 18 it contained one or more bytes that I cannot interpret as us-ascii (in other words, the bytes found are not valid values in the specified Character Encoding). Please check both the content of the file and the character encoding indication.
Avatar billede arne_v Ekspert
03. marts 2003 - 12:22 #2
Du skriver at filen er i UTF-8 !

Skriver du æøå i UTF-8 ?
Avatar billede arne_v Ekspert
03. marts 2003 - 12:23 #3
Hvis du skriver i ISO-8859-1 så prøv med:

<?xml version="1.0" encoding="ISO-8859-1"?>
Avatar billede kwanstudios Nybegynder
03. marts 2003 - 12:24 #4
selv efter at have ændret til <?xml version="1.0" encoding="ISO-8859-1"?> giver den det samme resultat :/
Avatar billede kwanstudios Nybegynder
03. marts 2003 - 12:25 #5
hele filen;

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="da">
<head>
<title>X</title>
<link rel="stylesheet" type="text/css" media="screen" href="style.css" />
</head>
<body>
    <table style="width: 100%;" border="0" cellspacing="0" cellpadding="0">
    <tr><td valign="top" style="text-align: center;">
        <table style="width: 760px; height: 100%;" border="0" cellspacing="0" cellpadding="0">
        <tr><td style="background-color: #FFFFFF;">
       
            <table style="width: 760px; height: 20px;" border="0" cellspacing="0" cellpadding="0">
            <tr>
            <td style="width: 53px; background-color: #636768;" class="os1">OS</td>
            <td style="width: 1px; background-color: #FFFFFF;"><img src="spacer.gif" alt="*" width="1" height="20" /></td>
            <td style="width: 510px; background-color: #2E3336;" class="os2">E-MAIL: PASSWORD: LOGIN ØHH OS?</td>
            <td style="width: 1px; background-color: #FFFFFF;"><img src="spacer.gif" alt="*" width="1" height="20" /></td>
            <td style="width: 195px; background-color: #2E3336;" class="os2">SØG: SØG</td>                                   
            </tr></table>
            <table style="width: 760px; height: 1px;" border="0" cellspacing="0" cellpadding="0">
            <tr>
            <td style="width: 1px; background-color: #FFFFFF;"><img src="spacer.gif" alt="*" width="1" height="1" /></td>                               
            </tr></table>           
           
       
        </td></tr>
        </table>
    </td></tr>
    </table>
  </body>
</html>
Avatar billede erikjacobsen Ekspert
03. marts 2003 - 12:33 #6
Prøv &Oslash;
Avatar billede kwanstudios Nybegynder
03. marts 2003 - 12:34 #7
det løser problemet ja, men kan jeg på ingen måde skrive ø,æ,å?
Avatar billede jensendk Nybegynder
03. marts 2003 - 12:35 #8
&Oslash er stort ø. &Aring  er Å, hvad mon Æ så er? Så fr du øå med ;-)
Avatar billede kwanstudios Nybegynder
03. marts 2003 - 12:40 #9
&AElig;
Avatar billede kwanstudios Nybegynder
03. marts 2003 - 15:41 #10
Har jeg ikke andre muligheder?
Avatar billede Slettet bruger
03. marts 2003 - 16:02 #11
Det er den korrekte måde at gøre det på. Ellers vil mange computere vise tegnene forkert.
Avatar billede kwanstudios Nybegynder
03. marts 2003 - 16:15 #12
Er der ikke andre muligheder?
Avatar billede olebole Juniormester
03. marts 2003 - 16:33 #13
<ole>

Hvad mener du med 'andre muligheder'?
æøå har intet at gøre i HTML. Du skal som altid bruge HTML-entities for special-karakterer, når du skriver HTML.

Skriver du JavaScript skal du derimod ikke bruge hverken æøå eller deres HTML-entities, men f.eks. den escape'de oktaltal-værdi til tegnets ASCII-kode.

/mvh
</bole>
Avatar billede arne_v Ekspert
03. marts 2003 - 16:48 #14
Hm.

Jeg har lige prøvet at validere din side mod validator.w3c.org !

Med ISO-8859-1 so, i dit 12:25:59 indlæg siger den:
  "This Page Is Valid XHTML 1.0 Strict!"

Med UTF-8 som oprindeligt får jeg:
  "Sorry, I am unable to validate this document because on lines 18, 20  it contained one or more bytes that I cannot interpret as utf-8 (in other words, the bytes found are not valid values in the specified Character Encoding). Please check both the content of the file and the character encoding indication."
Avatar billede arne_v Ekspert
03. marts 2003 - 16:48 #15
Så jeg vil tillade mig at opretholde mit ISO-8859-1 svar !
Avatar billede arne_v Ekspert
03. marts 2003 - 16:49 #16
Som forklaring på at det ikke virkede for dig kunne jeg forestille mig
at du kan have testet med en rigtig web-server og den har cachet
den gamle UTF-8 version.
Avatar billede arne_v Ekspert
03. marts 2003 - 16:50 #17
ole>

Hvis man ikke skal bruge andet en us-ascii, så er der ligesom ikke nogen
grund til at angive encoding !
Avatar billede olebole Juniormester
03. marts 2003 - 16:54 #18
arne_v >> Jo, i aller højeste grad - og det bliver ikke mere rigtigt af et udråbstegn  :)
Hvor i W3C's (X)HTML-rekommendationer finder du 'tilladelsen' til at bruge special-tegn - uden at bruge entities?
/mvh
Avatar billede arne_v Ekspert
03. marts 2003 - 17:00 #19
ole>

<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="ISO-8859-1"?>

Står der at special-tegn skal encodes med UTF-8 eller ISO-8859-1.

Jeg konkluderer, at speciel-tegn er tilladt.

at konkludere at det
Avatar billede arne_v Ekspert
03. marts 2003 - 17:04 #20
ole>

Et andet godt argument er at http://validator.w3c.org/ accepterer det.

Det kan naturligvis være en fejl i validatoren, men mon dog !
Avatar billede olebole Juniormester
03. marts 2003 - 17:09 #21
Ja, jeg ved godt, det er din konklusion ... men din konklusion er forkert  :)
Special-tegn skal stadig skrives som entities i de forskellige HTML-versioner - og for den sags skyld også i JavaScript ... blot med andre entities.
Du burde konsultere W3C og Netscapes JavaScript-standard - samt ECMA-standarden.
/mvh
Avatar billede olebole Juniormester
03. marts 2003 - 17:09 #22
At validatoren godtager det er ikke et argument ... den bliver jævnligt rettet for fejl og mangler
Avatar billede arne_v Ekspert
03. marts 2003 - 17:36 #23
XHTML 1.0 spec (http://www.w3.org/TR/xhtml1/) siger at
default encoding er UTF-8 eller UTF-16.

Altså er UTF-8 en valid encoding.

UTF-8 indeholder ÆØÅ.

Altså er ÆØÅ valide tegn i XHTML 1.0.

Meget nemt at forstå.

Om alle browsere korrekt fortolker ÆØÅ er en helt anden sag. Men det betyder
at de pågældende browsere ikke er XHTML 1.0 compliant.
Avatar billede olebole Juniormester
03. marts 2003 - 17:43 #24
Okay ... jeg gider ikke at diskutere det - der står højt og tydeligt, at ikke alle tegn nødvendigvis er understøttet. Det betyder, du selv skal sikre dig, at en bruger kan læse det ... så er det fløjtende ligegyldigt, om denne eller hin browser er XHTML-compliant.
Det hjælper jo heller ikke meget, at de efterladte kan skrive på din gravsten, at bilen havde vigepligt  ;o)

Prøv at læse om de forskellige character-encodings på W3C ... det er dér, det interessante i denne forbindelse står ... ikke under de forskellige sprog-varianter. SGML og dennes fortolkning er det væsentlige  :)

EOD - herfra
Avatar billede kwanstudios Nybegynder
03. marts 2003 - 17:53 #25
olebole og erikjacobsen, smid lige et svar :)
Avatar billede olebole Juniormester
03. marts 2003 - 17:56 #26
svar  :)
Avatar billede arne_v Ekspert
03. marts 2003 - 18:01 #27
ole>

Spørgsmålet gik på hvorfor det XHTML ikke kunne W3C valideres.

Korrekt svar er at det kan det også med korrekt encoding angivelse.

Hvad der er sund fornuft at bruge i sine sider for at de kan ses
i flest mulige browsere er en helt anden sag.
Avatar billede olebole Juniormester
03. marts 2003 - 18:02 #28
*LoooooL* jaja - og at kneppe fluer er en tredie  :)
Avatar billede olebole Juniormester
03. marts 2003 - 18:05 #29
Undskyld, at jeg lige citerer:
"Altså er UTF-8 en valid encoding.

UTF-8 indeholder ÆØÅ.

Altså er ÆØÅ valide tegn i XHTML 1.0.

Meget nemt at forstå."

Hvorfor skulle man så ikke kunne validere med UTF-8 ...?!?!!!??!!!
_Meget_ svært at forstå  :D
Avatar billede arne_v Ekspert
03. marts 2003 - 18:08 #30
Det kan den også !!!!!!!

Hvis altså filen rent faktisk varr i UTF-8.

Men filen var jo i ISO-8859-1.

Pudsigt nok kan man ikke fortælle validatoren at ÆØÅ er UTF-8
encodet og så komem med dem i ISO-8859-1 encoding.
Avatar billede olebole Juniormester
03. marts 2003 - 18:13 #31
Ehhh ..... læs nu lige spørgsmålet én gang til. Den var i UTF-8  :o)
Som jeg skrev før: EOD
Avatar billede arne_v Ekspert
03. marts 2003 - 18:19 #32
Nej nej nej.

encoding="UTF-8" er indhold i filen.

En fils encoding er oversættelsen mellem glyffer og bytes.

Selvom der øverst i file står encoding="UTF-8" så kan man sagtens
oversætte ÆØÅ til bytes via ISO-8859-1.
Avatar billede kwanstudios Nybegynder
04. marts 2003 - 13:39 #33
Nå, det var synd for erik, han må henvende sig hvis han vil have sin tyver ;)
Avatar billede arne_v Ekspert
04. marts 2003 - 13:45 #34
Han har sandsyneligvis set det. Men han skriver kun kommentarer for
tiden ikke svar. For at undgå at få påduttet et pro-abonnement.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester