Gunnar Bittersmann: Sonderzeichen • fehlerhaft

Beitrag lesen

Hello out there!

Denn die Werte 0x80..0x9F sind in ISO-8859-1 nicht definiert.

Natürlich sind sie das. Das sind Codierungen für die UCS/Unicode-Zeichen U+0080 bis U+009F. Allesamt keine darstellbaren Zeichen, sondern Steuerzeichen. U+0095 ist bspw. MESSAGE WAITING.

Was du meinst, ist nicht ISO-8859-1, sondern Windows-1252, das im Vergleich zur ISO-Codierung die Werte 0x80..0x9F mit zusätzlichen Zeichen belegt (z.B. 0x80 für das Euro-Symbol).

So weit, so gut ...

Entweder stellst du deine Codierung also auf Windows-1252 um, oder du suchst dir aus dem in ISO erlaubten Bereich ein anderes Zeichen aus, oder du suchst das gewünschte Zeichen in Unicode und stellst auf UTF-8 um.

... aber das ist Unsinn. Du verwechselst Zeichensatz (UCS/Unicode) und Zeichencodierung.

'•' referenziert IMMER (unabhängig von der Zeichencodierung!) auf U+0095; nicht (zwangläufig) auf das Zeichen, das in der verwendeten Codierung durch das Oktett 0x95 repräsentiert wird.

Das Zeichen '•' (0x95 in der Codierung windows-1252) ist übrigens U+2022; in HTML gibt’s dafür auch die Entity-Referenz '•'.

See ya up the road,
Gunnar

--
“Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)