Jesper Tverskov, 14. juni 2002
Mange XML-begyndere får unicode galt i halsen. De kan ikke få æøå til at virke og dropper derfor denne fantastiske altomfattende tegntabel til fordel for forhistoriske ISO-8859-1. Det er dumpekarakter. Artiklen fortæller, hvordan du får æøå til at fungere i unicode.
XML er så ægte Unicode, at Unicode, med sine ca. 50.000 tegn og med plads til endnu flere, endog er default, hvis anden tegntabel ikke er angivet. Du kan f.eks. bruge kinesiske skrifttegn, ikke bare som data, men også til navne på tags og attributter!
Tidligere kunne du kun med besvær inkludere skrifttegn, der ikke var en del af den anvendte lokale tegntabel. Vi var nødt til at "håndkode" de enkelte skrifttegn som entiteter på formen &#xxxx;. I praksis kunne denne metode kun anvendes til at inkludere enkelte ord eller sætninger fra et fremmed sprog, hvis bogstaver ikke indgik i ens egen tegntabel.
Med Unicode kan du for den sags skyld installere alverdens tastatur-opsætninger i Windows' proceslinje, og sætte alverdens tastaturer i forlængelse af hinanden ved hjælp af USB-stik. Du kan nu med en enkelt genvejstast (default er Alt-Shift) skifte mellem sprogene, finde tastaturet der passer (de vil alle skrive det samme) og indtaste f.eks. arabisk, hebraisk, russisk og dansk, som du lyster.
ÆØÅ har i edb voldt store problemer gennem årene. I de senere år med Windows som dominerende styresystem er problemerne med de danske bogstaver dog næsten gået i glemmebogen. Desværre er der ved overgang til XML atter problemer med de danske bogstaver, der dog let kan løses.
Mange XML-begyndere kan ikke få Unicode til at virke. De danske bogstaver vises med mærkelige skrifttegn, og det er så frustrerende, at nybegyndere straks øverst i XML-dokumentet angiver, at den forhistoriske tegntabel ISO-8859-1, skal anvendes. Så er ÆØÅæøå i hvert fald på plads. Helt ærligt: det er dumpekarakter! Unicode skal anvendes. Unicode signalerer, at du er fremtidsorienteret, at du allerede nu har kørt Unicode i stilling, så du kan udnytte fordelene ved denne fantastiske "alt-i-ét"-tegntabel, når mulighederne viser sig.
Problemet med de danske bogstaver opstår, fordi tegntabel og tastaturopsætning er to forskellige ting. Eller rettere fordi styresytemet Windows automatisk vælger de gamle tegntabeller svarende til "lande"-tastaturet som default, når du vælger tastatur.
Når du i dag opretter et XML-dokument uden angivelse af tegntabel i XML-dokumentet, så er det i øjeblikket stort set kun dedikerede XML-editorer, der er moderne nok til at fatte, at dokumentet skal gemmes i Unicode.
Gamle tekst- eller HTML-editorer, fra sidste år, er normalt ikke helt "up to date", når det gælder Unicode. De kan måske godt gemme i Unicode, med de gør det ikke som default, blot fordi der er tale om et XML-dokument, når det skal gemmes første gang. Det er derfor, det går galt med de danske bogstaver. Når du har valgt dansk tastatur i Windows vil det meste af den tradtionelle software, inklusive tekst-editorer, HTML-editorer og tekstbehandling som default gemme i den tilsvarende gammeldags tegntabel, typisk i ISO-8859-1, eller i ANSI også kaldet "Western European (Windows)". De to sidste er Windows' udgave af ISO-8859-1, der er identiske, hvad angår de danske bogstaver.
Når du i "ældre" software, der understøtter Unicode, skal gemme i Unicode eller rettere i UTF-8, der er den komprimerede udgave af Unicode, der som default anvendes i XML, skal du første gang i "Save as"-dialogboksen selv vælge, at der skal gemmes i Unicode.
Moderne programmer skal kunne gemme i Unicode. Selv et lille latterligt program som Notepad (de nyeste udgaver), kan gemme i Unicode. Men i mange ældre programmer kan du slet ikke gemme i Unicode selv om programmerne ofte kan håndtere Unicode indtastet i form af håndkodede entiteter af typen &#xxxx;!
Når dit XML-dokument er gemt i Unicode første gang, er der ikke flere problemer med æøå. Når du atter åbner dokumentet i editoren eller i et andet program, der forstår Unicode, skiftes der automatisk over til Unicode.
Heldigvis er browserne internationale af natur, og de er derfor nødt til at være "eksperter" i tegntabeller. Browserne er da også forbløffende gode til at vise og anvende Unicode. Mange af de mere specielle tegn er dog stadig kun defineret i unicode-tabellen men mangler i de installerede fonte.
Med XML kan du således let lave et internationalt debatforum, hvor brugerne kan indtaste på alverdens sprog, som de lyster, og alt bliver gemt korrekt i det samme XML-dokument, der udgør "database"-lageret for debatten.
Copyright © 2002 Klapmusen.dk
The document is made to be a resource. Use it. Link to it. The document will be maintained, the URL is stable.
Opdateret: 07-08-2002 17:10
Status:
Revision:
Debatten er lukket. Send mig en mail.