[gelöst] XML UTF-8, XML-Entity und Co.

Alles rund um die Programmierung mit Qt
Antworten
ChornHulio
Beiträge: 62
Registriert: 7. November 2008 11:02

[gelöst] XML UTF-8, XML-Entity und Co.

Beitrag von ChornHulio »

Hallo zusammen,

ich habe folgendes Problem: Ich will (plattformübergreifend) aus einem XML-File UTF-8 Zeichen auslesen und ausgeben. Damit das XML-File funktioniert habe ich das Zeichen als XML-Entity angegeben (theoretisch kann ich aber auch das Zeichen selbst reinkopieren)

Ausschnit aus dem XML-File (ich hab das Caps-Locks auseinandergezogen, damit es nicht "richtig" angezeigt wird):

Code: Alles auswählen

<?xml version="1.0" encoding="utf-8"?> 
...
<char nr="125" utf="& # 8 6 8 1;"/> <!--Caps Lock Zeichen-->
Auslesen tue ich das ganz normal mit

Code: Alles auswählen

str = n1.toElement().attribute("utf");
Meine Applikation gibt jetzt nur ein ? bzw. ein Quadrat aus. Was mach ich denn falsch? Habe schon ein Haufen gegooglet und Sachen ausprobiert wie umcodierung von dem QString - aber geholfen hat mir noch nichts.

Weiß jemand Rat? Danke für eure Antworten!

edit: Bei manchen System funktioniert es, bei manchen nicht - kA warum - alles WinXP-Systeme
Zuletzt geändert von ChornHulio am 15. April 2010 14:04, insgesamt 1-mal geändert.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Wenn die verwendete Schriftart für das Zeichen kein Symbol hat kann auch nichts angezeigt werden.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
ChornHulio
Beiträge: 62
Registriert: 7. November 2008 11:02

Beitrag von ChornHulio »

Ich hab Helvetica eingestellt - das müsste doch gehen, oder nicht?

edit: Arial und Times New Roman gehen auch nicht

edit2: Es hat außerdem denke ich nichts mit der Schriftart zu tun, da es ja auch "?" ausgibt, wenn ich mit qDebug ausgebe (außer es hängt hier auch an der Schriftart - hier wird Courier verwendet)
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Wenn es bei einigen geht und bei anderen nicht kann es eigentlich nur die Schriftart sein. Die 'Zeichentablle' (wenn sie noch so heißt) hilft hier weiter.
Bzgl. qDebug() - das hat nichts zu sagen da die doofe Konsole von Windows nur den aktuellen Locale und kein utf-8 kann, also auch nichts anzeigt was nicht in der aktuellen Locale anzeigbar ist.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
ChornHulio
Beiträge: 62
Registriert: 7. November 2008 11:02

Beitrag von ChornHulio »

Danke! Tatsächlich brauch ich nicht die Schriftart Arial o.ä., sonder Arial Unicode (ARIALUNI.TTF) - die ist aber mächtig groß (23MB).

Jetzt bin ich auf DejaVu umgestiegen und das geht auch hervorragend (~600kB)
Antworten