Hallo,
ich habe ein Problem mit Castor's Unmarshal.
Also ich hab eine XML Datei in UTF-8, in der ich Strings wie "unglücklich", "fröhlich" und "großes Grinsen" benutze.
Dann hab ich ein Schema in UTF-8 dazu geschrieben, und per Castor mir die JAVA Klassen generieren lassen.
Per Unmarshal lade ich dann die XML Datei ein.
Da JAVA intern mit UTF-16 arbeitet, sollte alles glatt gehen.
Tut es aber leider nicht.
Denn ich erhalte String wie "unglücklich", "fröhlich" und "großes Grinsen".
Für mich sieht das aus als ob Castor die XML Datei in ISO-8859-1 parst, was ja falsch ist, da die XML als auch die XSD Datei in UTF-8 editiert wurde (Eclipse) und auch UTF-8 im Header hat.
Was ist zu tun?
Wie kann ich Castor so konfigurieren dass er wirklich in UTF-8 parst?
Beste Grüße
Marco
PS: Hier die XML Datei
PSS: Hier die XSD Datei
ich habe ein Problem mit Castor's Unmarshal.
Also ich hab eine XML Datei in UTF-8, in der ich Strings wie "unglücklich", "fröhlich" und "großes Grinsen" benutze.
Dann hab ich ein Schema in UTF-8 dazu geschrieben, und per Castor mir die JAVA Klassen generieren lassen.
Per Unmarshal lade ich dann die XML Datei ein.
Da JAVA intern mit UTF-16 arbeitet, sollte alles glatt gehen.
Tut es aber leider nicht.
Denn ich erhalte String wie "unglücklich", "fröhlich" und "großes Grinsen".
Für mich sieht das aus als ob Castor die XML Datei in ISO-8859-1 parst, was ja falsch ist, da die XML als auch die XSD Datei in UTF-8 editiert wurde (Eclipse) und auch UTF-8 im Header hat.
Was ist zu tun?
Wie kann ich Castor so konfigurieren dass er wirklich in UTF-8 parst?
Beste Grüße
Marco
PS: Hier die XML Datei
Code:
<?xml version="1.0" encoding="UTF-8"?>
<xmlSmilies xmlns="http://www.example.de" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.example.de ../xsd/smilies.xsd">
<webroot>http://www.example.de/Smilies</webroot>
<storage>C:\development\workspace\Smilies</storage>
<smily code = " :("
baloon = "unglücklich"
gif = "frown.gif"
/>
<smily code = " =)"
baloon = "fröhlich"
gif = "happy.gif"
/>
<smily code = " :D"
baloon = "großes Grinsen"
gif = "biggrin.gif"
/>
</xmlSmilies>
PSS: Hier die XSD Datei
Code:
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.de" xmlns="http://www.example.de" elementFormDefault="qualified">
<xsd:element name="smily">
<xsd:complexType>
<xsd:attribute name="code" type="xsd:string" use="required"/>
<xsd:attribute name="baloon" type="xsd:string" use="required"/>
<xsd:attribute name="gif" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="xmlSmilies">
<xsd:complexType>
<xsd:sequence minOccurs="0" maxOccurs="1">
<xsd:element name="webroot" type="xsd:anyURI" minOccurs="1" maxOccurs="1"/>
<xsd:element name="storage" type="xsd:string" minOccurs="1" maxOccurs="1"/>
<xsd:element ref="smily" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>