Tom: Wer bastelt da? Doppelte Codierung des Rückmeldung beim Post

Hello,

habe gerade einen schönen HTML-Bildschirm bekommen. Statt Klartext stand der HTML-Quelltext im Rückmeldefenster eines Posts. Ist das jetzt der neue  oder nur nur ein Feature[tm]? ;-)

Harzliche Grüße aus http://www.annerschbarrich.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau
  1. Hello,

    scheint ein neues Feature[tm] zu sein. Dann machen wir jetzt mal eine Kubik-Codierung:

    <h2 class="sh2"><a class="an" name="bestaetigung">Diese Nachricht ist nun im Forum lesbar</a></h2>
        <p>Die folgende Nachricht zum Thema stammt von: <b>Tom</b>, <img src="http://src.selfhtml.org/mail.gif" width="15" height="10" border="0" alt="E-Mail">&nbsp;<a href="mailto:tom@bitworks.de"><b>tom@bitworks.de</b></a>, 13. August 2004, 16:16</p>
        <h3>(ZU DIESEM FORUM) Wer bastelt da? Doppelte Codierung des Rückmeldung beim Post</h3>
        <p><tt>Hello,&lt;br /&gt;&lt;br /&gt;habe gerade einen schönen HTML-Bildschirm bekommen. Statt Klartext stand der HTML-Quelltext im Rückmeldefenster eines Posts. Ist das jetzt der neue&amp;nbsp; oder nur nur ein Feature[tm]? ;-)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Harzliche Grüße aus &lt;a href=&quot;http://www.annerschbarrich.de&quot;&gt;http://www.annerschbarrich.de&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Tom<br /><span class="sig">-- <br />Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen&lt;br /&gt;Nur selber lernen macht schlau</span></tt></p>

    Harzliche Grüße aus http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    1. auch nicht schlecht, jetzt hat er mir hinterher nur die überschrift ausgegeben und meinen text überhaupt nicht! ^^

      greetz
      MakkuZ

  2. hi

    ging mir grad auch nicht anders! aber im forum stehts dann wieder normal! 8-)

    greetz
    MakkuZ

  3. Hi,

    ich hab ein anderes Problem: Ich sehe zwar die Bestätigung, aber KEINERLEI Text von dem, den ich eingegeben habe...

    E7

  4. Hallo Tom,

    ich  habe gebastelt. Dafuer koennt ihr jetzt Zeichen wie



    ε
    ζ



    usw, pp, halt alle in Unicode definierten Zeichen benutzen.
    Vorausgesetzt, es wird kein Gecko-Browser benutzt (die wuerden das
    als &#<unicode-nr>; schicken, vergleiche:
      http://wwwtech.de/cforum/blogg/archives/2004/03/23/fehlerhaftes-character-handling-im-mozilla/).

    Grüße,
     CK

    --
    Das Sein entsteht aus dem Nicht-Sein.
    http://wwwtech.de/
    1. Hi,

      ich  habe gebastelt. Dafuer koennt ihr jetzt Zeichen wie

      usw, pp, halt alle in Unicode definierten Zeichen benutzen.
      Vorausgesetzt, es wird kein Gecko-Browser benutzt (die wuerden das
      als &#<unicode-nr>; schicken, vergleiche:

      Nanu? Soweit ich mich erinnern kann konnte ich bisher diese Zeichen problemlos in Mozilla eingeben und wurde auch angezeigt????

      E7
      <img src="http://insider.thundercloud.info/werbung/sta/gpic.php" border="0" alt="">

      1. Hallo e7,

        Nanu? Soweit ich mich erinnern kann konnte ich bisher diese
        Zeichen problemlos in Mozilla eingeben und wurde auch
        angezeigt????

        Ja, als \x80. Das ist aber inkorrekt. Das ist Windows-1250.

        Grüße,
         CK

        --
        No Shoes On Mat!
        http://wwwtech.de/
    2. Hi,

      Vorausgesetzt, es wird kein Gecko-Browser benutzt (die wuerden das
      als &#<unicode-nr>; schicken, vergleiche:

      Wirklich? Zumindest in der Vorschau erscheint das C mit den zwei waagerechten Strichen: €

      cu,
      Andreas

      --
      MudGuard? Siehe http://www.Mud-Guard.de/
      Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
      1. Hi,

        Vorausgesetzt, es wird kein Gecko-Browser benutzt (die wuerden das
        als &#<unicode-nr>; schicken, vergleiche:
        Wirklich? Zumindest in der Vorschau erscheint das C mit den zwei waagerechten Strichen: €

        Klappt doch auch mit Mozilla.

        cu,
        Andreas

        --
        MudGuard? Siehe http://www.Mud-Guard.de/
        Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
        1. Hallo MudGuard,

          Vorausgesetzt, es wird kein Gecko-Browser benutzt (die wuerden
          das als &#<unicode-nr>; schicken, vergleiche:
          Wirklich? Zumindest in der Vorschau erscheint das C mit den zwei
          waagerechten Strichen: €

          Klappt doch auch mit Mozilla.

          Ja, wie gesagt, nur, weil ich es beruecksichtigt habe. Versuche doch
          mal 水 (chin. Zeichen für Wasser) mit dem Mozilla zu posten. Du
          wirst sehen, dass &#27700; angezeigt wird (die Zeichenkette). Das
          ist deshalb so, weil der Mozilla es so sendet. Dazu gibt es btw.
          auch schon Bugreports.

          Grüße,
           CK

          --
          Q: God, root, what's the difference?
          A: God is merciful.
          http://wwwtech.de/
          1. Hi,

            Ja, wie gesagt, nur, weil ich es beruecksichtigt habe. Versuche doch
            mal &#27700; (chin. Zeichen für Wasser) mit dem Mozilla zu posten.

            Kein Bedarf. Das Münchner Wasser ist gut genug für mich, ich brauch kein chinesisches Wasser ;-)

            cu,
            Andreas

            --
            MudGuard? Siehe http://www.Mud-Guard.de/
            Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
          2. Hi,

            Das ist deshalb so, weil der Mozilla es so sendet. Dazu gibt es btw.
            auch schon Bugreports.

            Ich nehme mal an, daß Ihr schon probiert habt, statt accept-charset="ISO-8859-1,UTF-8" die Reihenfolge umgekehrt zu machen, also accept-charset="UTF-8,ISO-8859-1".

            Hab grad keine Zeit zum Testen, ob das was ändert ...
            cu,
            Andreas

            --
            MudGuard? Siehe http://www.Mud-Guard.de/
            Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
            1. Hallo MudGuard,

              Das ist deshalb so, weil der Mozilla es so sendet. Dazu gibt es btw.
              auch schon Bugreports.

              Ich nehme mal an, daß Ihr schon probiert habt, statt
              accept-charset="ISO-8859-1,UTF-8" die Reihenfolge umgekehrt zu machen,
              also accept-charset="UTF-8,ISO-8859-1".

              accept-charset wird von Gecko-Browsern komplett ignoriert.

              Grüße,
               CK

              --
              If God had a beard, he'd be a UNIX programmer.
              http://wwwtech.de/
              1. Hallo MudGuard,

                Das ist deshalb so, weil der Mozilla es so sendet. Dazu gibt es btw.
                auch schon Bugreports.

                Ich nehme mal an, daß Ihr schon probiert habt, statt
                accept-charset="ISO-8859-1,UTF-8" die Reihenfolge umgekehrt zu machen,
                also accept-charset="UTF-8,ISO-8859-1".

                accept-charset wird von Gecko-Browsern komplett ignoriert.

                Die einzige Loesung waere es, das Forum komplett in UTF-8 auszuliefern. Aber
                davor schrecke ich noch ein wenig zurueck, ich hab keine Ahnung wie die
                verschiedenen Browser darauf reagieren. Das wird erst duchgetestet und
                dann ueberlegt.

                Grüße,
                 CK

                --
                Wenn der Schüler bereit ist, erscheint der Meister.
                http://wwwtech.de/
                1. Moin,

                  Die einzige Loesung waere es, das Forum komplett in UTF-8 auszuliefern. Aber
                  davor schrecke ich noch ein wenig zurueck, ich hab keine Ahnung wie die
                  verschiedenen Browser darauf reagieren. Das wird erst duchgetestet und
                  dann ueberlegt.

                  Och, wenn es das nur ist. Zwei Möglichkeiten: User-Agent auf 'Gecko' durchsuchen und dann UTF-8 senden, oder halt eine Einstellung für die Userspezifische Ansicht. (Notfalls halt noch: ein virtuelles Verzeichnis unterhalb dessen alles UTF-8-kodiert wird, oder ein "klicken Sie hier um ein Cookie zu setzen, dass den Server dazu veranlasst UTF-8 zu senden"-Link.)

                  --
                  Henryk Plötz
                  Grüße aus Berlin
                  ~~~~~~~~ Un-CDs, nein danke! http://www.heise.de/ct/cd-register/ ~~~~~~~~
                  ~~ Help Microsoft fight software piracy: Give Linux to a friend today! ~~
                  1. Hallo Henryk,

                    Die einzige Loesung waere es, das Forum komplett in UTF-8
                    auszuliefern. Aber davor schrecke ich noch ein wenig zurueck,
                    ich hab keine Ahnung wie die verschiedenen Browser darauf
                    reagieren. Das wird erst duchgetestet und dann ueberlegt.

                    Och, wenn es das nur ist. Zwei Möglichkeiten: [...]

                    So einfach ist es eben nicht. Die Templates liegen alle in Latin 1
                    vor.

                    Grüße,
                     CK

                    --
                    Kommt ein Vektor zur Drogenberatung: "Hilfe, ich bin linear abhaengig!"
                    http://wwwtech.de/
                    1. Hi,

                      So einfach ist es eben nicht. Die Templates liegen alle in Latin 1
                      vor.

                      Hm. PHP kennt eine Funktion namens UTF8_encode, die ISO-8859-1 in UTF-8 umwandelt.
                      Soweit ich weiß, ist PHP open-source, also sollte der Code irgendwo auffindbar sein ...

                      cu,
                      Andreas

                      --
                      MudGuard? Siehe http://www.Mud-Guard.de/
                      Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
                      1. Hallo MudGuard,

                        So einfach ist es eben nicht. Die Templates liegen alle in
                        Latin 1 vor.

                        Hm. PHP kennt eine Funktion namens UTF8_encode, die ISO-8859-1 in
                        UTF-8 umwandelt. Soweit ich weiß, ist PHP open-source, also sollte
                        der Code irgendwo auffindbar sein ...

                        Das Umwandeln ist nicht das Problem, die Converter-Routinen habe ich
                        ja alle schon selber geschrieben. Ich will nur keine Hacks. Wenn,
                        dann muss das richtig[tm] geloest werden.

                        Grüße,
                         CK

                        --
                        Echte Hacker benutzen Aexte. (Thomas Walter in de.org.ccc)
                        http://wwwtech.de/
                        1. Moin,

                          Das Umwandeln ist nicht das Problem, die Converter-Routinen habe ich
                          ja alle schon selber geschrieben. Ich will nur keine Hacks. Wenn,
                          dann muss das richtig[tm] geloest werden.

                          Allen deinen Datenquellen (Template, Postings, etc.) einen Aufkleber mit der darin verwendeten Kodierung zu verpassen und sie nach Gutdünken so umzukodieren, dass sie a) alle in der gleichen Kodierung und b) auch noch in der die du ausgeben willst vorliegen (sinnvollerweise ohne Verluste, d.h. UTF-8 nach Latin-1 + numerische Zeichenreferenzen) würde ich durchaus als richtige[tm] Lösung betrachten.

                          Also: 1. Überall dranschreiben wie es kodiert ist.
                          2. Separat konfigurierbar machen welche Kodierung nachher rausfallen soll.
                          3. Tun was auch immer nötig ist um 1 in 2 umzuwandeln.
                          (4. ???   5. Profit!  ;-)

                          Aber vielleicht bin ich auch zu blauäugig und stelle mir das alles zu einfach vor.

                          --
                          Henryk Plötz
                          Grüße aus Berlin
                          ~~~~~~~~ Un-CDs, nein danke! http://www.heise.de/ct/cd-register/ ~~~~~~~~
                          ~~ Help Microsoft fight software piracy: Give Linux to a friend today! ~~
                          1. Hy Henryk

                            Aber vielleicht bin ich auch zu blauäugig und stelle mir das alles zu einfach vor.

                            Letzteres vermute ich auch! Wenn Christian jetzt diverse Codierungen dem Userwillen anheim stellte, würden IMHO allein für Konzeption und Tests Wochen
                            verloren gehen und wehe es tauchen im nachinein auch noch Inkosistenzen auf und die user meckern usw. usf.

                            Hin und her konvertieren macht m.E. nur unnötigen Ärger!

                            Eine generelle umstellung auf UTF-8 fände ich hingegen interessanter!

                            (Glaube auch irgendwo gelesen zu haben dass der NN4 UTF-8 braucht um alle unicodes zu verdauen)

                            tschüssi
                              rolf

                            1. Moin,

                              Eine generelle umstellung auf UTF-8 fände ich hingegen interessanter!

                              Was mir noch im Nachhinein eingefallen ist: Einfach alles nach ASCII konvertieren (unter großzügigem Einsatz von numerischen Zeichenreferenzen oder Entities) und das dann je nach Browser und Großwetterlage als Latin-hastenichgesehen oder UTF-8 deklarieren müsste auch gehen. _Das_ hingegen würde ich als Hack bezeichnen.

                              --
                              Henryk Plötz
                              Grüße aus Berlin
                              ~~~~~~~~ Un-CDs, nein danke! http://www.heise.de/ct/cd-register/ ~~~~~~~~
                              ~~ Help Microsoft fight software piracy: Give Linux to a friend today! ~~
                              1. Hi

                                Was mir noch im Nachhinein eingefallen ist: Einfach alles nach ASCII konvertieren (unter großzügigem Einsatz von numerischen Zeichenreferenzen oder Entities) und das dann je nach Browser und Großwetterlage als Latin-hastenichgesehen oder UTF-8 deklarieren müsste auch gehen. _Das_ hingegen würde ich als Hack bezeichnen.

                                Du hast recht, allerdings was normalen Text anbelangt. Ich wäre mir aber nicht sicher ob entities in Link-URLs auch funktionieren! Und seit einigen wochen ist folgende URL legal ;)

                                <www.šøñđĕŗźęıċĥëŋ.de>

                                ie5.0 und NN4 zumindest kommen nicht mit allen entities zurecht...

                                cheers
                                  rolf

                                1. Hi,

                                  Ich wäre mir aber nicht sicher ob entities in Link-URLs auch funktionieren!

                                  Überleg mal, warum hier jeder zweite PHP-Nutzer beim Validieren mit der Frage ankommt, warum sein zweiter URL-Parameter vom Validator als Entity interpretiert wird ;-)

                                  cu,
                                  Andreas

                                  --
                                  MudGuard? Siehe http://www.Mud-Guard.de/
                                  Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
                                  1. Hi

                                    Überleg mal, warum hier jeder zweite PHP-Nutzer beim Validieren mit der Frage ankommt, warum sein zweiter URL-Parameter vom Validator als Entity interpretiert wird ;-)

                                    ich überlege und überlege ... und weiß dass ich von PHP nix weiß (und nix wissen möchte), allerdings vermute ich dass hier ein ampersand im syntax vorkommt?

                                    tschau
                                      rolf

                2. Moin!

                  Die einzige Loesung waere es, das Forum komplett in UTF-8 auszuliefern. Aber
                  davor schrecke ich noch ein wenig zurueck, ich hab keine Ahnung wie die
                  verschiedenen Browser darauf reagieren. Das wird erst duchgetestet und
                  dann ueberlegt.

                  Die Wikipedia hat, was das Abschicken von Formularen angeht, einige Negativ-Browser gelistet: http://de.wikipedia.org/wiki/Wikipedia:Browser-FAQ

                  Das würde hier im Forum aber weniger schlimm sein. Erstens benutzen wir nur sehr selten exotische Sonderzeichen, zweitens wird in der Regel neuer Text hinzugefügt, aber nicht direkt bearbeitet (wenn man mal von der Vorschau absieht), und drittens betrifft es ja nur die Leute, die hier Beiträge schreiben, aber nicht die, die nur lesen.

                  Für die Wikipedia ist ein umlautzerstörter Beitrag sicherlich tragisch, weil er viel Nacharbeit und Überwachung erfordert. Hier im Forum ist ein umlautzerstörter Beitrag einfach nur ein umlautzerstörter Beitrag - sieht doof aus, aber man wird erkennen können, was geschrieben wurde.

                  - Sven Rautenberg

      2. Hallo MudGuard,

        Vorausgesetzt, es wird kein Gecko-Browser benutzt (die wuerden
        das als &#<unicode-nr>; schicken, vergleiche:

        Wirklich? Zumindest in der Vorschau erscheint das C mit den zwei
        waagerechten Strichen: €

        Das ist eine Ausnahme, die hardcodiert im Mozilla steht. Aber auch
        nicht richtig, da schickt er Windows-1250, also \x80. Und das wird
        nur deshalb korrekt dargestellt, weil ich das bedacht habe. Aus
        ForumUtils.pm:

        # browsers are broken :(
                if($dcfg->{ExternCharset}->[0]->[0] eq 'ISO-8859-1') {
                  # Ok, we got characters not present in Latin-1. Due to
                  # our knowledge of the browser bugs we assume that
                  # Windows-1252 has been sent; THIS IS JUST A HACK!
                  if($val =~ /[\x7F-\x9F]/) {
                    $convert = 0;
                    $nval = $Clientlib->charset_convert($val,length($val),"Windows-1252","UTF-8");
                  }
                }

        Grüße,
         CK

        --
        Das Leben ist wie ein Kartenspiel: was dir gegeben wurde, ist vorbestimmt. Doch wie du damit spielst, ist deine Entscheidung.
        http://wwwtech.de/
        1. Hallo Christian,

          # browsers are broken :(
                  if($dcfg->{ExternCharset}->[0]->[0] eq 'ISO-8859-1') {
                    # Ok, we got characters not present in Latin-1. Due to
                    # our knowledge of the browser bugs we assume that
                    # Windows-1252 has been sent; THIS IS JUST A HACK!
                    if($val =~ /[\x7F-\x9F]/) {
                      $convert = 0;
                      $nval = $Clientlib->charset_convert($val,length($val),"Windows-1252","UTF-8");
                    }
                  }

          also, nochmal zum Mitschreiben (ich vermute das da oben ist Perl?):
          Du kuckst, ob der String ein Zeichen zwischen 127 und 159 enthält und wenn ja, tippst Du auf Windows-1252 und convertierst den ganzen string (length($val)) von Windows-1252 nach UTF-8? Und was machst Du beim IE, der € bei mir immer als &#8364; abschickt. Woher weißt Du, ob das Unicode oder die Zeichenkett "&#8364;" sein soll? Außerdem verstehe ich nicht, das Du das weiter oben für Gecko-Brauser beschrieben hast. Ich habe das immer nur im IE.

          und für die Convertierung - hast Du da eigene Tabellen gestrickt?

          Gruß, Andreas

          --
          <img src="http://was-ist-das.andreas-lindig.de/was_ist_das_fetzen.jpg" border="0" alt="">
          hier könnte auch ruhig mal'n neues Bild stehen.
          1. Hallo Andreas,

            also, nochmal zum Mitschreiben (ich vermute das da oben ist Perl?):

            Jap, ist es.

            Du kuckst, ob der String ein Zeichen zwischen 127 und 159 enthält
            und wenn ja, tippst Du auf Windows-1252 und convertierst den
            ganzen string (length($val)) von Windows-1252 nach UTF-8?

            So ganz einfach ist es nicht. Ich kann davon ausgehen, dass der
            Input entweder ISO-8859-1 oder UTF-8 ist. Immer noch eine
            Wahlmoeglichkeit zu viel. Also habe ich mir dafuer etwas einfallen
            lassen: ich gebe in einem Feld &#255; mit — bei UTF-8 wird das dann
            als \303\277 geschickt, bei anderen Charsets mit etwas anderem.
            Daran kann ich also erkennen, ob UTF-8 oder ExternCharset (aus
            einer Konfigurations-Datei) geschickt wurde. Gut, dann muss man
            ueber den Bug der Geckos bescheid wissen: sie schicken € als \x80,
            wenn der Seiten-Charset ISO-8859-1 ist. In Latin1 ist aber der
            Bereich zwischen \x7F und \x9F nicht definiert, also kann es sich
            (weil wir ja bescheid wissen) nur um Windows-1252 handeln.

            und für die Convertierung - hast Du da eigene Tabellen gestrickt?

            Nein, ich benutze ein Perl-Interface zu libcfcharconvert (eine
            Bibliothek, die ich fuer das Forum geschrieben habe). Die wiederum
            benutzt und abstrahiert libiconv.

            Grüße,
             CK

            --
            Unsere Vorstellungen von der Ewigkeit sind genauso nuetlich wie die Mutmassungen eines Kuehkens ueber die Aussenwelt bevor es die Eierschale aufbricht.
            http://wwwtech.de/
            1. Hallo Andreas,

              diesmal ohne -Linidg, hehe...

              Du kuckst, ob der String ein Zeichen zwischen 127 und 159 enthält
              und wenn ja, tippst Du auf Windows-1252 und convertierst den
              ganzen string (length($val)) von Windows-1252 nach UTF-8?

              So ganz einfach ist es nicht. Ich kann davon ausgehen, dass der
              Input entweder ISO-8859-1 oder UTF-8 ist. Immer noch eine
              Wahlmoeglichkeit zu viel. Also habe ich mir dafuer etwas einfallen
              lassen: ich gebe in einem Feld &#255; mit — bei UTF-8 wird das dann
              als \303\277 geschickt, bei anderen Charsets mit etwas anderem.

              Du gibst "&#255;&gt; " mit. Wozu sind denn "&gt;" und " "?

              Daran kann ich also erkennen, ob UTF-8 oder ExternCharset (aus
              einer Konfigurations-Datei) geschickt wurde. Gut, dann muss man
              ueber den Bug der Geckos bescheid wissen: sie schicken € als \x80,
              wenn der Seiten-Charset ISO-8859-1 ist.

              Der Grund, warum Mozilla das € immer darstellt, ja? D.h. aber auch, daß er im Darstellungsverhalten die Besonderheit hat, \x80 (128) anzuzeigen.

              Aber was machst du denn mit dem IE, der schickt bei mir € immer als Zeichenkette "&#8364;"?

              In Latin1 ist aber der Bereich zwischen \x7F und \x9F nicht definiert, also kann es sich (weil wir ja bescheid wissen) nur um Windows-1252 handeln.

              Also: Du prüfst _erst_, ob &#255; korrekt als utf-8 zurückgegeben wurde, wenn nicht prüfst Du, ob Zeichen zwischen 127 und 159 vorkommen. Und wenn ja, tippst Du auf Windows-1252?

              Wenn man sowas in PHP machen wollte, bräuchte man aber eine handgestrickte Vergleichstabelle, um die Zeichen von 127 bis 159 in das richtige utf-8 Zeichen zu übersetzen, gell?

              Gruß, Andreas

              --
              <img src="http://was-ist-das.andreas-lindig.de/was_ist_das_fetzen.jpg" border="0" alt="">
              hier könnte auch ruhig mal'n neues Bild stehen.
              1. Hallo Andreas,

                Hallo Andreas,

                diesmal ohne -Linidg, hehe...

                Eigentlich immer ohne -Lindig ;-)

                Du kuckst, ob der String ein Zeichen zwischen 127 und 159 enthält
                und wenn ja, tippst Du auf Windows-1252 und convertierst den
                ganzen string (length($val)) von Windows-1252 nach UTF-8?

                So ganz einfach ist es nicht. Ich kann davon ausgehen, dass der
                Input entweder ISO-8859-1 oder UTF-8 ist. Immer noch eine
                Wahlmoeglichkeit zu viel. Also habe ich mir dafuer etwas einfallen
                lassen: ich gebe in einem Feld &#255; mit — bei UTF-8 wird das dann
                als \303\277 geschickt, bei anderen Charsets mit etwas anderem.

                Du gibst "&#255;&gt; " mit. Wozu sind denn "&gt;" und " "?

                das "&gt; " sind die Quoting-Charaktere bei dir. Du zitierst mit "> ".

                Daran kann ich also erkennen, ob UTF-8 oder ExternCharset (aus
                einer Konfigurations-Datei) geschickt wurde. Gut, dann muss man
                ueber den Bug der Geckos bescheid wissen: sie schicken € als \x80,
                wenn der Seiten-Charset ISO-8859-1 ist.

                Der Grund, warum Mozilla das € immer darstellt, ja? D.h. aber auch, daß er
                im Darstellungsverhalten die Besonderheit hat, \x80 (128) anzuzeigen.

                Ja.

                Aber was machst du denn mit dem IE, der schickt bei mir € immer als
                Zeichenkette "&#8364;"?

                accept-charset="ISO-8859-1,UTF-8". Bei mir schickt er nie Entities. Probiere
                doch hier mal ein wenig herum, das habe ich seinerzeit fuer den Mozilla-
                Bugreport gemacht:

                </cgi-bin/test.pl>

                In Latin1 ist aber der Bereich zwischen \x7F und \x9F nicht definiert, also
                kann es sich (weil wir ja bescheid wissen) nur um Windows-1252 handeln.

                Also: Du prüfst _erst_, ob &#255; korrekt als utf-8 zurückgegeben wurde,
                wenn nicht prüfst Du, ob Zeichen zwischen 127 und 159 vorkommen. Und wenn
                ja, tippst Du auf Windows-1252?

                Korrekt.

                Wenn man sowas in PHP machen wollte, bräuchte man aber eine handgestrickte
                Vergleichstabelle, um die Zeichen von 127 bis 159 in das richtige utf-8
                Zeichen zu übersetzen, gell?

                Nein, es gibt doch die iconv-Erweiterung:

                http://php.net/iconv

                Grüße,
                 CK

                --
                Der Geist ist alles. Du wirst, was du denkst.
                http://wwwtech.de/
    3. Hallo!


      Hehe (dort ist ein Unicode-Smiley). Schade, ich habe keine Schrift, in der der Totenkopf, das Peace-Zeichen, die Kaffeetasse oder das Biohazard-Symbol drin sind.

      ☞ Mathias

    4. Hallo Calvi ;)

      das mit dem Pfuscher war jetzt nicht als drängelei gedacht aber danke. https://forum.selfhtml.org/?t=86714&m=517950

      ich versuchs noch mal mit mozilla/linux
      http://www.šøñ&#273;&#277;&#343;&#378;&#281;&#305;&#267;&#293;ë&#331;.de/

      hmm interessant, das bestärkt mich darin weiterhin Matheformeln in Tex zu posten...

      viele Grüße
       rolf