ISO-8859-Tabellen
hotti
- perl
hi,
s. Thema: http://rolfrost.de/cgi-bin/isotabs.cgi
Dazu werden die Zeichen mit chr() erzeugt. Problem ist Zeichen nr. 173 (und evntl. auch Andere?): chr(173) gibt mir den Bindestrich '-' nuhr, derjenige kommt gar nicht im Browser an. Whats wrong?
Bitte mal um Hinweise,
Horst Haselhuhn
Dazu werden die Zeichen mit chr() erzeugt. Problem ist Zeichen nr. 173 (und evntl. auch Andere?): chr(173) gibt mir den Bindestrich '-' nuhr, derjenige kommt gar nicht im Browser an. Whats wrong?
http://de.wikipedia.org/wiki/Weiches_Trennzeichen
Struppi.
Dazu werden die Zeichen mit chr() erzeugt. Problem ist Zeichen nr. 173 (und evntl. auch Andere?): chr(173) gibt mir den Bindestrich '-' nuhr, derjenige kommt gar nicht im Browser an. Whats wrong?
Ahh, verstehe: Browserkontext ;-)
D.h., mein Browser kann nicht alle ISO-8859-1-Zeichen in ISO-8859-1 darstellen.
Hat mal jemand einen Browser, der das kann?
Hotti
D.h., mein Browser kann nicht alle ISO-8859-1-Zeichen in ISO-8859-1 darstellen.
Doch er stellt es doch. Es ist aber halt kein Zeichen, das man sieht.
Struppi.
hi Struppi,
Дружба
Doch er stellt es doch.
Njet. Hast Du in den Quelltext geschaut? Nein, hastu nicht, guck: <td></td>
Es ist aber halt kein Zeichen, das man sieht.
Logisch, steht ja auch nichts drin, s.o.
Btw., ich als alter Plenker hab früher viele Bindestriche getippelt. Auf ner ANSI-Schreibmaschine und als ISO-8859-1 verkauft. Die waren alle sichtbar, zu meiner Schande ;-)
Ja, ne, is klar, Codepage 1252 ist eben nicht ISO-8859-1, nuhr die doofen Browser bringen das ein bischen durcheinander.
Horst Plenkton
Doch er stellt es doch.
Njet. Hast Du in den Quelltext geschaut? Nein, hastu nicht, guck: <td></td>
Hast du mal die Kodierung gewechselt? Nein, hast du nicht, in Kodierungen wo es kein Trennzeichen (z.b. IBM850) ist, wird es dargestellt.
Es ist aber halt kein Zeichen, das man sieht.
Logisch, steht ja auch nichts drin, s.o.
Doch ein Trennzeichen.
Struppi.
... z.b. IBM850 ...
Damit habe ich als Kind auf dem Bürorechner meiner Eltern immer ganz tolle Figuren "gemalt" und den (Nadel-)Druckkopf eines NEC P6 gequält! :-)
Mich beschleicht, hotte wird hierauf nicht mehr antworten ;-)
... z.b. IBM850 ...
Damit habe ich als Kind auf dem Bürorechner meiner Eltern immer ganz tolle Figuren "gemalt" und den (Nadel-)Druckkopf eines NEC P6 gequält! :-)
Mich beschleicht, hotte wird hierauf nicht mehr antworten ;-)
Doch!11!
Draußen ists weiß, da kannst Du auch schöne Figuren in den Schnee malen, musst vorher nur genug trinken :D
Ne, zurück zum Thema ;-)
Also, mich deucht, dass ich nicht der Einzige bin, der bisher Codepage 1252 Zeichen als ISO-8859-1 verkauft hat. Also nicht nur (sichtbare)Bindestriche... ohje. Und wer hat schonmal '­' in seinen Quellcode getippt? Und gar nicht gemerkt, dass die überhaupt gar nicht dargestellt werden!?
Horst Schreck­Schraube
@@hotti:
nuqneH
Und wer hat schonmal '­' in seinen Quellcode getippt?
„Es ist ein häufiger Fehler …“
Qapla'
@@Gunnar Bittersmann:
nuqneH
Und wer hat schonmal '­' in seinen Quellcode getippt?
Oops, richtiger Link an der falschen Stelle.
0xAD > 0x9F.
Ein schönes Beispiel, wie sinnlos dezimale NCRs sind; die stiften nur Verwirrung.
Qapla'
hi,
Ein schönes Beispiel, wie sinnlos dezimale NCRs sind; die stiften nur Verwirrung.
Genau! Noch schiel flimmere Wervirrungen stiften Codepages ;-)
Viele Gr??e,
Horst Stiftsetzer
... wer hat schonmal '­' in seinen Quellcode getippt? Und gar nicht gemerkt, dass die überhaupt gar nicht dargestellt werden!?
Ich hab schonmal bei nem Projekt vor ein paar Jahren mit Hilfe eines Silbentrennungsmoduls ne ganze Menge an ­ produziert. Der Kunde fand es gut, dass er keine Bindestriche, sondern brauchbaren Blocksatz zu Gesicht bekam ;-)
Moin!
s. Thema. Ich beziehe mich speziell auf die Tabellen mit den ISO-8859-Zeichenkodierungen.
Bis die Überarbeitung SELFHTML fertig ist:
Schöne Grüße,
Horst
@@hotti:
nuqneH
Bis die Überarbeitung SELFHTML fertig ist:
Hier stehts richtig
Was heißt bei dir richtig?
(1) Wo sind die Zeichen U+0020 bis U+007E (32 bis 127)?
(2) Bytewerte werden üblicherweise hexadezimal angegeben. Dein Tabellenlayout anhand der dezimalen Werte ist unsinnig: Man erkennt nicht, dass sich entsprechende Groß-/Kleinbuchstaben um den Wert x20 = 32 unterscheiden. Unicode-Codepoints werden hexadezimal angegeben. Von der dezimalen Darstellung (auch bei numerischen Zeichenreferenzen) kann nur abgeraten werden.
(3) Deine Übersicht ist unvollständig: Wo ist ISO 8859-15? Und die anderen nach 10? Auf den Unterschied zwischen ISO 8859-8 und ISO 8859-8-i gehst du auch nicht ein.
(4) Was ist an den Übersichtstabellen in SELFHTML falsch?
(5) Wozu überhaupt das Ganze? Wayne interessiert’s? Von der Verwendung einer ISO-8859-Codierung kann nur abgeraten werden: UTF-8 ist angesagt; so gut wie immer und überall.
Qapla'
h1,
(1) Wo sind die Zeichen U+0020 bis U+007E (32 bis 127)?
Siehe charmap.cgi
(4) Was ist an den Übersichtstabellen in SELFHTML falsch?
Sie zeigen den SoftHyphen einfach so mittendrin. Das ist verwirrend. Was es damit auf sich hat, siehe
http://rolfrost.de/cgi-bin/charmap.cgi
Von der Verwendung einer ISO-8859-Codierung kann nur abgeraten werden: UTF-8 ist angesagt; so gut wie immer und überall.
Full ACK!
Btw., noch was: http://de.selfhtml.org/servercgi/cgi/formularverarbeitung.htm
da steht zum Thema URI-Encoding: "Alle Zeichen, die nicht in der Seite ASCII-Codetabelle vorkommen, sowie einige Sonderzeichen werden durch eine Hexadezimalzeichenfolge umschrieben, eingeleitet durch ein Prozentzeichen (%) und dahinter der Hexadezimalwert des Zeichens."
Hexadezimalzeichenfolge ist richtig. Aber: es wird nicht der "Hexadezimalwert des Zeichens" übertragen sondern ein Vector.
Beispiel Euro:
Vector: %E2%82%AC
Codepoint: 20AC (Hexadezimalwert)
was natürlich auch davon abhängt, mit welchem Content-Type; charset-Header das Formular gesendet wurde.
Aber ja, Wayne
Danke für Deine Hinweise,
Horst Schlauberger
Aber ja, Wayne
Da steht immer noch dieser Abschnitt zu CGI/Perl Programmen, dem ich nicht folgen kann, bzw. der bei mir andere Ergebnisse bringt.
Eine pl Datei in utf8 abgespeichert: http://wiki.jstruebig.de/cgi-bin/utf.pl wie du siehst ist die Ausgabe mit use utf8 falsch. Du schreibst aber:
In Perl-Scripts, die in utf-8 gespeichert sind, sollten folgende Zeile enthalten:
use utf8;
Das kann so nicht stimmen.
Auch der Absatz danach ist immer noch seltsam:
Damit wird bereits dem Perl-Interpreter signalisiert, dass die Datei utf-8-codiert vorliegt. Andererseits gibt der Interpreter eine Fehlermeldung aus, wenn eine print-Anweisung Umlaute enthält:
Malformed UTF-8 character (1 byte, need 6) at...
Diese Fehlermeldung kann ich nicht reproduzieren. Wann und wo tritt die denn bei dir auf? Ist das tatsächlich eine Meldung von Perl?
Struppi.
Malformed UTF-8 character (1 byte, need 6) at...
Diese Fehlermeldung kann ich nicht reproduzieren. Wann und wo tritt die denn bei dir auf? Ist das tatsächlich eine Meldung von Perl?
gerade konnte ich sie doch reproduzieren.
Diese Fehlermeldung tritt auf, wenn du ANSI kodiertes Sonderzeichen ausgibst, aber dem Perlinterpreter signalisierst dass du eigentlich utf8 verwendest, durch use uft8. Das ist natürlich Unsinn.
Dann ist aber die Formulierung in dem Artikel definitiv falsch. Das gegenteil ist richtig, die Fehlermledung erhälst du, wenn du einem nicht utf8 kodiertem Quellcode Perl als solchen verkaufen willst. D.h. die Fehlermeldung kommt dann, wenn du use utf8 verwendest und nicht, wenn du es wegläßt.
Struppi.