1.5k Aufrufe
Gefragt in SN Intern von friedel Experte (3.3k Punkte)
Hallo.

Hier im Board werden viele Zeichen durch Unicode ersetzt. Frühe war das nicht so. Damals konnte man damit die Zensur umgehen, ich vermute, dass dass es jetzt deshalb nicht mehr geht. Aber leider werden durch die Umwandlung auch Dateinamen, Fehlermeldungen und Quellcodes verstümmelt, die diese Zeichen enthalten. Das "Feature" macht es imho so gut wie unmöglich, bestimmte Arten von Problemen hier zu lösen. Deshalb halte ich es für sinnvoll, diese Umwandlung nicht vor zu nehmen,wenn die Zeichen in Code vorkommen, der als solcher formatiert ist. Ich habe wenig Chancen auf Hilfe, wenn ich mein Problem nicht beschreiben kann.

(Im aktuellen Fall werden Dateinamen von meinem Archivmanager nicht richtig erzeugt. Der Fall konnte aber gelöst werden, weil es nicht auf den konkreten Namen ankommt. Dass im Dateinamen kyrillische Zeichen vorkommen, könnte ich ja auch so beschreiben.) Trotzdem könnte die Boardsoftware in anderen Fällen eine brauchbare Problembeschreibung verhindern.

4 Antworten

0 Punkte
Beantwortet von kjg17 Profi (34.4k Punkte)
Hallo Friedel,

da hast du die Markierung als 'Code' falsch verstanden, sie soll genau das Gegenteil bewirken, nämlich dass Code nicht ausgeführt, sondern exakt Zeichen für Zeichen angezeigt wird.

Ansonsten werden die Beiträge beim Veröffentlichen nach "text/html;charset=iso-8859-1" umgesetzt und deshalb alle nicht über diese ISO abgedeckten Codes auch nur als solche angezeigt.

Ob die angekündigte neue Supportware dann mit UTF-8-Codierung arbeitet, wird sich herausstellen.

Gruß
Kalle
0 Punkte
Beantwortet von friedel Experte (3.3k Punkte)
Die Formatierung als Code hat nichts damit zu tun, ob Code ausgeführt wird. Man kann die im Board keinen geposteten Code ausführen und daran soll sich natürlich auch nichts ändern.
sie soll genau das Gegenteil bewirken, nämlich dass Code nicht ausgeführt, sondern exakt Zeichen für Zeichen angezeigt wird.
Das ist nicht das Gegenteil, sondern genau das, was ich mir wünsche.
Ansonsten werden die Beiträge beim Veröffentlichen nach "text/html;charset=iso-8859-1" umgesetzt und deshalb alle nicht über diese ISO abgedeckten Codes auch nur als solche angezeigt.
Sorry, aber das ist falsch. Ob die Zeichen in iso-8859-1, utf-8 oder sonst wo enthalten sind, ist relativ unerheblich. In der Datenbank werden die Sonderzeichen eh maskiert gespeichert. Früher wurden sie auch wieder demaskiert für die Ausgabe. Aber jetzt gibt es Filter, die das nur noch bei manchen Zeichen zulassen. Diese Filter sollten imho in Code-Bereichen nicht wirken. Ob sie Seite in utf-8 codiert ist, ist nicht wichtig. Die Zeichen können (und sollen) ja als Unicode in dem Quellcode. So funktioniert es ja mit den nicht gefilterten Sonderzeichen auch. Einige kann man ja auch gar nicht anders darstellen, und die funktionieren einwandfrei.
0 Punkte
Beantwortet von kjg17 Profi (34.4k Punkte)
Hallo Friedel,

wenn der Server nur Zeichen nach iso-8859-1 ausgibt, kann kein Browser daran was ändern und das scheint mir hier der Fall zu sein.

Wenn du hier ein russisches 'Muzyka' in die Antwort kopierst, wird das natürlich angezeigt, sofern dein Browser UTF-8 unterstützt, der Inhalt des Antwortfensters ist ja in dem Moment noch nicht Teil der Website. Dahinter steckt aber trotzdem der Unicode (in HTML) Музыка

Entgegen deiner Vermutung werden hier also nicht Zeichen durch Unicode ersetzt, sondern 'eingeschleppter' Unicode, der dem hier verwendeten Zeichensatz nicht bekannt ist, wird schlicht und einfach als Zeichenkette ausgegeben. Ob das zu irgendeinem Zeitpunkt schon mal anders war, entzieht sich meiner Kenntnis. Ich kann mich allerdings nicht daran erinnern, hier irgendwann schon mal Text in kyrillischen Zeichen gesehen zu haben, worum es dir ja wohl im Moment geht.

Die in Latin-1 selbst enthaltenen 'Sonderzeichen' funktionieren hier übrigens alle, das werden dann wohl die sein, die du als 'nicht gefiltert' bezeichnen würdest.

Gruß
Kalle
0 Punkte
Beantwortet von friedel Experte (3.3k Punkte)
wenn der Server nur Zeichen nach iso-8859-1 ausgibt, kann kein Browser daran was ändern und das scheint mir hier der Fall zu sein.
Sorry, aber das ist Unsinn. Unicode besteht aus ASCII-Zeichen. Der Server gibt im übrigen die Zeichen aus, die er ausgeben soll. Nur der http-Header könnte nur bestimmte Codierungen zulassen, aber das ist beim Supportnet nicht der Fall, denn das läuft nicht auf irgend einem Webspace, sondern auf einem eigenen Server. Und da kann man die Konfiguration bekanntlich selbst festlegen. Aber wie gesagt, ist das nicht nötig. ASCII reicht völlig aus, um alle Zeichen dar zu stellen. In der Datenbank sind sie eh zwangsläufig maskiert, und sie können auch maskiert ausgegeben werden. Z.B. das Zeichen "<" kann z.B. in Html gar nicht unmaskiert ausgegeben werden. Und genau so können auch alle anderen Zeichen ausgegeben werden, einschließlich kyrillischem Chinesischer und sonstiger Zeichen. Seit etwa 5 Jahren können das auch alle gängigen Browser interpretieren. Nur wenn jemand mit Opera 3.6 oder ähnlichen historischen Browsern surfen sollte, hat er Probleme. Andere Probleme gibt es bei einigen alten Betriebsystemen. So hatte Windows98 noch die alten, eingeschränkten Zeichensätze. Die Sonderzeichen konnten nur dargestellt werden, wenn durch das MS-Office-Paket die Schriftart Arial Unicode MS nachinstalliert wurde. Aber wer sowas benutzt, surft damit normalerweise nicht im Web herum und kennt die Einschränkungen.
...