Benny's Blog
Navigation: Home » Archives for UTF-8
17. April 2010

Vorhin wollte ich in NetBeans ein älteres Eclipse-Projekt von mir importieren. Bei der Ausführung des Programms habe ich folgenden Fehler bekommen: Exception in thread “AWT-EventQueue-0″ java.lang.RuntimeException: Uncompilable source code. Obwohl der Source-Code keine syntaktischen Fehler hatte und mir alles “grün” in NetBeans angezeigt wurde, liess sich das Projekt nicht starten. Nach etwa ausprobieren habe ich festgestellt, dass der Fehler im Zeichensatz der Source-Code Dateien liegt. Die *.java-Dateien wurden in ANSI-Codierung abgespeichert. In den Kommentaren des Quellcodes habe ich aber Deutsche Umlaute verwendet, weshalb sich der Code nicht fehlerfrei ausführen lies.

Alles was ich tun musste war also, die Zeichensatz-Kodierung von ANSI auf UTF-8 umzustellen. Dadurch werden aber die Umlaute “zerstört” und durch “kleine Vierecke” ersetzt. Die Moral aus der Geschicht’: Verwende Umlaute lieber nicht! (…oder nur mir Escape-Sequenzen).

15. März 2010

Um UTF-8 Zeichensätze korrekt einlesen zu können, muss man (bei Verwendung der kXML-Bibliothek) den Parser auf UTF-8 einstellen:

1
2
3
4
FileConnection fc = (FileConnection) Connector.open(file:///root1/test.xml);
InputStream is = fc.openDataInputStream();
InputStreamReader reader = new InputStreamReader(is, "UTF-8");
XmlParser parser = new XmlParser(reader);

Zur Sicherheit sollten die XML-Dateien immer mit der Kodierung “UTF-8 ohne BOM” (einstellbar in Notepad++) abgespeichert werden.

5. November 2009

Wer schon mal in Java Programme mit Textausgabe programmiert hat, wird feststellen, dass es trotz der Betriebssystemunabhängigkeit von Java Probleme mit der Darstellung von Sonderzeichen auf verschiedenen Betriebssystemen gibt. Daher sollte man Umlaute und Sonderzeichen immer durch Unicode-Escapes im Quellcode ersetzten. Java arbeitet mit 16-Bit Unicodes (UTF-16).

Beispiel:

System.out.println(“\u00C4sthetisches Fr\u00FChst\u00FCcksfernsehen.”);

Übersicht der wichtigsten Unicode-Maskierungen für Java:

Unicode-Escapes Sonderzeichen
\u00A1 ¡
\u00A2 ¢
\u00A3 £
\u00A4 ¤
\u00A5 ¥
\u00A6 ¦
\u00A7 §
\u00A8 ¨
\u00A9 ©
\u00AA ª
\u00AB «
\u00AC ¬
\u00AD ­
\u00AE ®
\u00AF ¯
\u00B0 °
\u00B1 ±
\u00B2 ²
\u00B3 ³
\u00B4 ´
\u00B5 µ
\u00B6
\u00B7 ·
\u00B8 ¸
\u00B9 ¹
\u00BA º
\u00BB »
\u00BC ¼
\u00BD ½
\u00BE ¾
\u00BF ¿
\u00C0 À
\u00C1 Á
\u00C2 Â
\u00C3 Ã
\u00C4 Ä
\u00C5 Å
\u00C6 Æ
\u00C7 Ç
\u00C8 È
\u00C9 É
\u00CA Ê
\u00CB Ë
\u00CC Ì
\u00CD Í
\u00CE Î
\u00CF Ï
\u00D0 Ð
\u00D1 Ñ
\u00D2 Ò
\u00D3 Ó
\u00D4 Ô
\u00D5 Õ
\u00D6 Ö
\u00D7 ×
\u00D8 Ø
\u00D9 Ù
\u00DA Ú
\u00DB Û
\u00DC Ü
\u00DD Ý
\u00DE Þ
\u00DF ß
\u00E0 à
\u00E1 á
\u00E2 â
\u00E3 ã
\u00E4 ä
\u00E5 å
\u00E6 æ
\u00E7 ç
\u00E8 è
\u00E9 é
\u00EA ê
\u00EB ë
\u00EC ì
\u00ED í
\u00EE î
\u00EF ï
\u00F0 ð
\u00F1 ñ
\u00F2 ò
\u00F3 ó
\u00F4 ô
\u00F5 õ
\u00F6 ö
\u00F7 ÷
\u00F8 ø
\u00F9 ù
\u00FA ú
\u00FB û
\u00FC ü
\u00FD ý
\u00FE þ
\u00FF ÿ

Hinweis: Die Unicodes können unter Windows XP auch mit der Zeichentabelle (zu erreichen über Start -> Ausführen -> charmap) gefunden werden.