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

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Java, XML og æ ø å
Fra : Martin Bratbo


Dato : 12-05-04 13:53

Jeg har nogle metoder der skriver opsætninger til en XML fil, men når
jeg skriver tekster med æ, ø eller å, kommer der en exception nær filen
forsøges indlæst igen:

org.xml.sax.SAXParseException: Character conversion error:
"Unconvertible UTF-8 character beginning with 0xf8" (line number may be
too low).

Det må være noget med forskellige tegnsæt, men hvordan omformes de
danske specialtegn så de er legale i XML

MVH


Martin Bratbo


 
 
Thorbjoern Ravn Ande~ (12-05-2004)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 12-05-04 15:02

Martin Bratbo <martin@bratbo.dk> writes:

> Det må være noget med forskellige tegnsæt, men hvordan omformes de
> danske specialtegn så de er legale i XML

Udskriv alle tegn større end 127 som "&#" + tegnets værdi + ";".

Herved er din XML fil gyldig i alle tegnsæt.

--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk/ravn

Martin Bratbo (13-05-2004)
Kommentar
Fra : Martin Bratbo


Dato : 13-05-04 11:25

Thorbjoern Ravn Andersen skrev:
> Martin Bratbo <martin@bratbo.dk> writes:
>
>
>>Det må være noget med forskellige tegnsæt, men hvordan omformes de
>>danske specialtegn så de er legale i XML
>
>
> Udskriv alle tegn større end 127 som "&#" + tegnets værdi + ";".
>
> Herved er din XML fil gyldig i alle tegnsæt.
>
Tak det hjalp.
Jeg har tidligere prøvet med &aelig;,&oslash; og &aring;.
Hvilket ikke virkede.


Thorbjoern Ravn Ande~ (13-05-2004)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 13-05-04 13:35

Martin Bratbo <martin@bratbo.dk> writes:

> Jeg har tidligere prøvet med &aelig;,&oslash; og &aring;.
> Hvilket ikke virkede.

Nej, det kræver at du husker at referere til en HTML DTD. Den skal så
også være tilgængelig for de XML-parsere der skal behandle din XML.

Du ved, at Internet Explorer kan vise XML-filer og fortælle dig hvis
der er noget galt?

--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk/ravn

Soren Kuula (14-05-2004)
Kommentar
Fra : Soren Kuula


Dato : 14-05-04 02:57

Thorbjoern Ravn Andersen wrote:
> Martin Bratbo <martin@bratbo.dk> writes:
>
>
>>Det må være noget med forskellige tegnsæt, men hvordan omformes de
>>danske specialtegn så de er legale i XML
>
>
> Udskriv alle tegn større end 127 som "&#" + tegnets værdi + ";".
>
> Herved er din XML fil gyldig i alle tegnsæt.
>
Alternativt, så skriv den encoding du bruger i xml tingesten, f.x.:

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

De fleste i DK bruger ISO-8859-1.

Eller brug (min anbefaling):
<?xml version="1.0" encoding="UTF-8"?>

of få din editor til at gemme i UTF-8.

Hvorfor synes jeg det ? Fordi ISO-8859-1 stort set kun dur til noget
Vesteuropa. UTF-8 supporter alle sprog, og mange meget eksotiske oveni.
Programmer som ikke supporter UTF-8 (eller rettere: Unicode) ordentligt
bør identificeres og spærres inde :)

MVH
Søren
--
Fjern de 4 bogstaver i min mailadresse som er indsat for at hindre s...
Remove the 4 letter word meaning "junk mail" in my mail address.


kgc (14-05-2004)
Kommentar
Fra : kgc


Dato : 14-05-04 06:22

> Hvorfor synes jeg det ? Fordi ISO-8859-1 stort set kun dur til noget
> Vesteuropa. UTF-8 supporter alle sprog, og mange meget eksotiske oveni.
*Fnis* alle sprog + nogle flere??

> Programmer som ikke supporter UTF-8 (eller rettere: Unicode) ordentligt
> bør identificeres og spærres inde :)
Hmm, er der egentlig nogen grund til at benytte Unicode hvis man nu
laver noget på dansk? Selvfølgelig er det smart, hvis man er
interesseret i hele verden som målgruppe, men det er man måske ikke
altid? Så længe man bare angiver og benytter kodning konsistent, må det
vel være OK? Der er vel også et overhead forbundet med at benytte
Unicode (er der ikke noget med at hvert tegn fylder 2 bytes mod
"normalt" 1?)

Mvh. Kasper


--
Besøg mig på nettet: http://www.kaspershjemmeside.dk

Jonas Kongslund (14-05-2004)
Kommentar
Fra : Jonas Kongslund


Dato : 14-05-04 09:36

On Friday 14 May 2004 07:21, kgc wrote:
> Hmm, er der egentlig nogen grund til at benytte Unicode hvis man nu
> laver noget på dansk? Selvfølgelig er det smart, hvis man er
> interesseret i hele verden som målgruppe, men det er man måske ikke
> altid? Så længe man bare angiver og benytter kodning konsistent, må det
> vel være OK? Der er vel også et overhead forbundet med at benytte
> Unicode (er der ikke noget med at hvert tegn fylder 2 bytes mod
> "normalt" 1?)

Overheadet er negligerbart indtil andet er bevist.
--
Jonas Kongslund

Thorbjoern Ravn Ande~ (14-05-2004)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 14-05-04 09:53

kgc <news1@kaspershjemmeside.dk> writes:

> det vel være OK? Der er vel også et overhead forbundet med at benytte
> Unicode (er der ikke noget med at hvert tegn fylder 2 bytes mod
> "normalt" 1?)

Ja. Derfor benytter man UTF-8 til at gemme det med.

Hvis enten pladsforbrug eller cpukraft er en størrelse der skal tages
hensyn til, bør man vælge noget andet end XML.

--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk/ravn

kgc (14-05-2004)
Kommentar
Fra : kgc


Dato : 14-05-04 10:38

>>det vel være OK? Der er vel også et overhead forbundet med at benytte
>>Unicode (er der ikke noget med at hvert tegn fylder 2 bytes mod
>>"normalt" 1?)
>
>
> Ja. Derfor benytter man UTF-8 til at gemme det med.
OK - jeg er åbenbart ikke klar over hvad UTF-8 er, havde blot læst det
som synonymt med unicode - beklager.

> Hvis enten pladsforbrug eller cpukraft er en størrelse der skal tages
> hensyn til, bør man vælge noget andet end XML.
Du har en god pointe der. XML's styrker ligger andre steder

Betyder dette at det i princippet er fjollet, at XML overhovedet er
tilladt i andre encodings?

Mvh. Kasper

--
Besøg mig på nettet: http://www.kaspershjemmeside.dk

Thorbjoern Ravn Ande~ (14-05-2004)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 14-05-04 11:36

kgc <news1@kaspershjemmeside.dk> writes:

> > Ja. Derfor benytter man UTF-8 til at gemme det med.
> OK - jeg er åbenbart ikke klar over hvad UTF-8 er, havde blot læst det
> som synonymt med unicode - beklager.

Ingen årsag. UTF-8 er en indkodningsform af Unicode som benytter 1-3
bytes til at repræsentere et 16-bits unicodetegn. Dens hovedforce er
at tegn under 127 (US-ASCII) ikke skal specialbehandles, hvorfor at
amerikanere kan bruge det uden yderligere dikkedarer.

> Betyder dette at det i princippet er fjollet, at XML overhovedet er
> tilladt i andre encodings?

Smagssag. XML-standarden tillader kun ganske få indkodninger. De
enkelte parsere kan sagtens tilbyde flere.
--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk/ravn

Soren Kuula (15-05-2004)
Kommentar
Fra : Soren Kuula


Dato : 15-05-04 09:13

kgc wrote:
>> Hvorfor synes jeg det ? Fordi ISO-8859-1 stort set kun dur til noget
>> Vesteuropa. UTF-8 supporter alle sprog, og mange meget eksotiske oveni.
>
> *Fnis* alle sprog + nogle flere??
>
>> Programmer som ikke supporter UTF-8 (eller rettere: Unicode)
>> ordentligt bør identificeres og spærres inde :)
>
> Hmm, er der egentlig nogen grund til at benytte Unicode hvis man nu
> laver noget på dansk? Selvfølgelig er det smart, hvis man er
> interesseret i hele verden som målgruppe, men det er man måske ikke
> altid? Så længe man bare angiver og benytter kodning konsistent, må det
> vel være OK? Der er vel også et overhead forbundet med at benytte
> Unicode (er der ikke noget med at hvert tegn fylder 2 bytes mod
> "normalt" 1?)

Der ER da noget smart ved det :) - - nemlig at man ved at ens kode
virker i en anden kontekst også.
Ja, det er nok at være konsistent. Men alt for mange programmører (synes
jeg) bruger at ISO (som typisk er platform default på deres computere)
virker OK her, som en slags sovepude. De laver så kode fuld af
implicitte antagelser - f. eks. at et tegn er en byte - som i bedste
fald ikke er særlig genbrugelig. Og de beholder en dårlig vane ...

En ekstra byte på æ ø å ofrer jeg gerne .. det er je 0.00... nanoøre :)

MVH
Søren
--
Fjern de 4 bogstaver i min mailadresse som er indsat for at hindre s...
Remove the 4 letter word meaning "junk mail" in my mail address.


Thorbjoern Ravn Ande~ (15-05-2004)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 15-05-04 13:10

kgc <news1@kaspershjemmeside.dk> writes:

> Hmm, er der egentlig nogen grund til at benytte Unicode hvis man nu
> laver noget på dansk? Selvfølgelig er det smart, hvis man er

Det giver dig fx adgang til euro-tegnet.
--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk/ravn

Martin Bratbo (14-05-2004)
Kommentar
Fra : Martin Bratbo


Dato : 14-05-04 08:56

Soren Kuula skrev:

> Thorbjoern Ravn Andersen wrote:
>
>> Martin Bratbo <martin@bratbo.dk> writes:
>>
>>
>>> Det må være noget med forskellige tegnsæt, men hvordan omformes de
>>> danske specialtegn så de er legale i XML
>>
>>
>>
>> Udskriv alle tegn større end 127 som "&#" + tegnets værdi + ";".
>>
>> Herved er din XML fil gyldig i alle tegnsæt.
>>
> Alternativt, så skriv den encoding du bruger i xml tingesten, f.x.:
>
> <?xml version="1.0" encoding="ISO-8859-1"?>
> ...
> ...
>
> De fleste i DK bruger ISO-8859-1.
>
> Eller brug (min anbefaling):
> <?xml version="1.0" encoding="UTF-8"?>
>
> of få din editor til at gemme i UTF-8.
>
> Hvorfor synes jeg det ? Fordi ISO-8859-1 stort set kun dur til noget
> Vesteuropa. UTF-8 supporter alle sprog, og mange meget eksotiske oveni.
> Programmer som ikke supporter UTF-8 (eller rettere: Unicode) ordentligt
> bør identificeres og spærres inde :)
>
> MVH
> Søren
Tricket med at encode alle tegn over 127 er en robust løsning, der så
vidt jeg kan se virker upåklageligt. Der er andre en mig selv der skal
vedligeholde de tekstfiler der er ophav til XML'en. Filerne er
tekstfiler der parses af en javacc parser, hvis der var specielle krav
til tegnsætinstillignen, ville det give en masse fejl og generere ekstra
supportbehov.


MVH

Martin bratbo


Lasse Reichstein Nie~ (14-05-2004)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 14-05-04 20:20

kgc <news1@kaspershjemmeside.dk> writes:

> OK - jeg er åbenbart ikke klar over hvad UTF-8 er, havde blot læst det
> som synonymt med unicode - beklager.

Unicode er en definition der giver talværdier til tegn (glyffer?).
Der er fx 65 det latinske bogstav "stort A", mens 945 er lille græsk
alpha.

UTF-8 er en kodning af Unicode der er baseret på blokke af otte bits.
Et tegn kodes som et eller flere bytes. Stort A kodes med en byte med
værdien 65. Alpha kodes som to eller flere bytes.

UTF-8-kodningen har den fordel at den ikke fylder mere end ASCII hvis
man holder sig til ASCII-tegnene.

/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'

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

Månedens bedste
Årets bedste
Sidste års bedste