1 van 1

Problemen met het weergeven van symbolen via unicode in java

Geplaatst: za 28 jun 2008, 18:40
door Rob H
Hallo,

Ik heb een probleem met Java VisualCafe:

Ik probeer een speciaal teken in te voegen in een textfield doormiddel van zijn unicode code. Het gaat hier om enkele tekens uit het onderdeel 'box drawing' van unicode. (specifiek: U+256C, U+2569, U+2566, U+2563 en U+2560)

De code voor één van deze tekens die ik in mijn applet heb is de volgende:

Code: Selecteer alles

textField1.setText("\u256c");
Het probleem is dat deze tekens niet goed weergegeven worden als ik de applet uitvoer. Ik krijg bij al deze tekens (en bij enkele willekeurige andere) een vraagteken te zien. De 'normale' symbolen (gewone latijnse letters en zo) doen het wel gewoon, maar deze symbolen worden niet goed weergegeven.

Hoe kan het dat Java deze tekens niet goed weergeeft?

Re: Problemen met het weergeven van symbolen via unicode in java

Geplaatst: do 03 jul 2008, 17:44
door Lathander
Het probleem is dat deze tekens niet goed weergegeven worden als ik de applet uitvoer. Ik krijg bij al deze tekens (en bij enkele willekeurige andere) een vraagteken te zien. De 'normale' symbolen (gewone latijnse letters en zo) doen het wel gewoon, maar deze symbolen worden niet goed weergegeven.
Ik ervaar hetzelfde als ik een normale System.out.println doe op die codes.

Heb niet meteen een antwoord...

Re: Problemen met het weergeven van symbolen via unicode in java

Geplaatst: do 03 jul 2008, 18:51
door Rogier
Waarschijnlijk een kwestie van niet de juiste fonts geinstalleerd hebben (of niet de uitgebreide versies met allerlei unicode karakters). Als ik deze html test:

Code: Selecteer alles

<html><body><script type='text/javascript'>

document.write("\u256c\u2569\u2569\u2566\u2563\u2560");

</script></body></html>
Krijg ik dit te zien: Afbeelding in zowel Opera, Firefox als IE.

Zie hier tevens de reden om zulke tekens niet te gebruiken (tenzij de page alleen voor eigen gebruik is natuurlijk), want veel bezoekers zullen die fonts ongetwijfeld ook niet hebben :D

Re: Problemen met het weergeven van symbolen via unicode in java

Geplaatst: do 03 jul 2008, 19:05
door Lathander
Rogier schreef:Waarschijnlijk een kwestie van niet de juiste fonts geinstalleerd hebben (of niet de uitgebreide versies met allerlei unicode karakters). Als ik deze html test:

Code: Selecteer alles

<html><body><script type='text/javascript'>

 document.write("\u256c\u2569\u2569\u2566\u2563\u2560");

 </script></body></html>
Krijg ik dit te zien: Afbeelding in zowel Opera, Firefox als IE.

Zie hier tevens de reden om zulke tekens niet te gebruiken (tenzij de page alleen voor eigen gebruik is natuurlijk), want veel bezoekers zullen die fonts ongetwijfeld ook niet hebben :D
Da's javaSCRIPT hè...

dat wordt vertaald door de browser zelf. En alle browser kennen alle Unicode tekens. Wat we hier zoeken is(dacht ik toch) een manier om die tekens in Java programmatjes te doen voorkomen.

dus zonder

Code: Selecteer alles

document.write()

Re: Problemen met het weergeven van symbolen via unicode in java

Geplaatst: do 03 jul 2008, 20:35
door Cycloon
Volgens mij heeft rogier wel het juiste antwoord en komt het gewoon omdat jullie editor of programma een font gebruikt die dit teken niet bevat.

Re: Problemen met het weergeven van symbolen via unicode in java

Geplaatst: do 03 jul 2008, 21:36
door Lathander
Volgens mij heeft rogier wel het juiste antwoord en komt het gewoon omdat jullie editor of programma een font gebruikt die dit teken niet bevat.


wat dacht je van de command box van windows?

Re: Problemen met het weergeven van symbolen via unicode in java

Geplaatst: do 03 jul 2008, 22:34
door Rogier
Evil Lathander schreef:Da's javaSCRIPT hè...

dat wordt vertaald door de browser zelf. En alle browser kennen alle Unicode tekens. Wat we hier zoeken is(dacht ik toch) een manier om die tekens in Java programmatjes te doen voorkomen.

dus zonder

Code: Selecteer alles

document.write()
Tuurlijk, de browser snapt ongetwijfeld unicode, dus daarvoor maakt het niet uit wat je voor bizarre tekens gebruikt. Maar het font dat hij (c.q. je systeem) gebruikt om die tekst weer te geven bevat die tekens waarschijnlijk niet.
wat dacht je van de command box van windows?
Die gebruikt ansi, geen unicode. En toevallig gebruikt die default nou net een ansi encoding (CP437) waar die box drawing characters in zitten. Maar daar mis je weer andere tekens, probeer maar eens een letter À of Á (hoofdletter A met accent grave of aigu) op je command prompt te krijgen.

Re: Problemen met het weergeven van symbolen via unicode in java

Geplaatst: do 03 jul 2008, 22:58
door Cycloon
wat dacht je van de command box van windows?
Zoals rogier al aanhaalde werkt de command prompt van windows nog met een achterlijk oude codering die maar 255 tekens kan weergeven.

Je kan het wel forceren door wat met instellingen te prutsen om de UTF-16 codering aan de praat te krijgen in de command prompt, maar dan moet ik je doorsturen naar google :D

Re: Problemen met het weergeven van symbolen via unicode in java

Geplaatst: vr 04 jul 2008, 00:58
door Lathander
Cycloon schreef:Zoals rogier al aanhaalde werkt de command prompt van windows nog met een achterlijk oude codering die maar 255 tekens kan weergeven.

Je kan het wel forceren door wat met instellingen te prutsen om de UTF-16 codering aan de praat te krijgen in de command prompt, maar dan moet ik je doorsturen naar google :D
je zou verwachten dat windows z'n producten up to date houdt...

HotChilicsshtmljavascriptmysqlphpCancelHotChiliundoCancel