Rob H
Artikelen: 0
Berichten: 7
Lid geworden op: za 01 mar 2008, 22:40

Problemen met het weergeven van symbolen via unicode in java

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?
Lathander
Artikelen: 0
Berichten: 2.504
Lid geworden op: do 26 jan 2006, 15:49

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

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...
"Invisible Pink Unicorns are beings of great spiritual power. We know this because they are capable of being invisible and pink at the same time. Like all religions, the Faith of the Invisible Pink Unicorns is based upon both logic and faith. We have faith that they are pink; we logically know that they are invisible because we can't see them."
Gebruikersavatar
Rogier
Artikelen: 0
Berichten: 5.679
Lid geworden op: di 27 apr 2004, 13:40

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

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
In theory, there's no difference between theory and practice. In practice, there is.
Lathander
Artikelen: 0
Berichten: 2.504
Lid geworden op: do 26 jan 2006, 15:49

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

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()
"Invisible Pink Unicorns are beings of great spiritual power. We know this because they are capable of being invisible and pink at the same time. Like all religions, the Faith of the Invisible Pink Unicorns is based upon both logic and faith. We have faith that they are pink; we logically know that they are invisible because we can't see them."
Gebruikersavatar
Cycloon
Artikelen: 0
Berichten: 4.810
Lid geworden op: ma 24 jan 2005, 20:56

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

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.
Lathander
Artikelen: 0
Berichten: 2.504
Lid geworden op: do 26 jan 2006, 15:49

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

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?
"Invisible Pink Unicorns are beings of great spiritual power. We know this because they are capable of being invisible and pink at the same time. Like all religions, the Faith of the Invisible Pink Unicorns is based upon both logic and faith. We have faith that they are pink; we logically know that they are invisible because we can't see them."
Gebruikersavatar
Rogier
Artikelen: 0
Berichten: 5.679
Lid geworden op: di 27 apr 2004, 13:40

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

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.
In theory, there's no difference between theory and practice. In practice, there is.
Gebruikersavatar
Cycloon
Artikelen: 0
Berichten: 4.810
Lid geworden op: ma 24 jan 2005, 20:56

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

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
Lathander
Artikelen: 0
Berichten: 2.504
Lid geworden op: do 26 jan 2006, 15:49

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

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
"Invisible Pink Unicorns are beings of great spiritual power. We know this because they are capable of being invisible and pink at the same time. Like all religions, the Faith of the Invisible Pink Unicorns is based upon both logic and faith. We have faith that they are pink; we logically know that they are invisible because we can't see them."

Terug naar “Informatica en programmeren”