JAX07: UTF-8 – Encoding und seine Tücken

Zeichenkodierung ->  wikipedia
iso-8859-1 -> Latin1 unter Linux
cp1252(iso8859+€)

Möglichkeiten für Umlaute in Java:
Unicode Escape ü -> \u00F6

Richtiges Source-Encoding verwenden
javac -encoding UTF-8
bei ant : encoding=“UTF-8″
bei maven: <compilerArguments> <encoding>
Ab unicode 3.1 mehr als 2 Byte, deshalb jetzt 3 Byte
unicode.org version 5.0

UTF-8 bildet Unicode ab, ist nicht Unicode!
Java 5 -> Unicode 4.0
FileReader liest die Datei im Encoding von der Maschine, auf der das Programm läuft
Character.toChars()-> wenn 2 char, also 4 bytes -> Java 5
Default Encoding mit file.encoding property. allerdings nicht zur laufzeit änderbar

!!!.property Dateien MÜSSEN in iso-8859-1 sein java.util.properties!!!
native2ascii

xml
in xml deklaration immer das encoding angeben und datei immer in utf-8 speicher

csv
cp1252

cmd chcp

Datenbank

Mozilla Plugin: Live HTTP Headers

Auf Serverseite wird beim Interpretieren einer Anfrage standardmäßig immer iso-8859-1 verwendet.
Man kann dem Server aber sagen, was das encoding sein soll.
request.setCharacterEncoding(„UTF-8“)  (z.b. mit einem Filter machen) (haben wir das so?)
schoenitzer.de/encoding.html
JSR204
Es gibt eigentlich keine universelle Möglichkeit um herauszufinden, welches encoding eine Datei hat, weil 2 encodings genau die gleiche datei liefern können.

Character Escaping als Möglichkeit, zwischen verschiedenen Encodings zu konvertieren
Unterschied zw. UTF-8 und UTF-16
UTF-8: 1,2,3,4 Bytes überprüfung, ob es zu einem Byte auf wirklich ein Zeichen gibt.
UTF-16: 2 oder 4 Bytes (braucht deshalb mehr zeichen als utf-8)
UTF-32: 4 Bytes

Bei Schnittstellen sollte man dafür sorgen, dass auch nur die Sachen reinkommen, dieauch akzeptiert werden.

Werbung



    Kommentar verfassen

    Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

    WordPress.com-Logo

    Du kommentierst mit deinem WordPress.com-Konto. Abmelden /  Ändern )

    Facebook-Foto

    Du kommentierst mit deinem Facebook-Konto. Abmelden /  Ändern )

    Verbinde mit %s



%d Bloggern gefällt das: