kidex: Sonderzeichen im Text

Hallo,

ich nutze den Firefox 3 - wie kommen diese Sonderzeichen zustande und wie kann ich die unterbinden / vermeiden? - Mit PHP oder SQL was aus den Texten rausfiltern / ersetzen?:

Sonderzeichen im Text

Viele Grüsse,

Alexander

  1. ich nutze den Firefox 3 - wie kommen diese Sonderzeichen zustande und wie kann ich die unterbinden / vermeiden? - Mit PHP oder SQL was aus den Texten rausfiltern / ersetzen?:

    hier was zum schmökern: FAQ: Zeichencodierung für Anfänger

    1. @@suit:

      hier was zum schmökern: FAQ: Zeichencodierung für Anfänger

      Kommt mir irgendwie bekannt vor. ;-)

      Da du öfter die I18n-FAQ verlinkst, eine Bitte: Nutze den generischen URI! Dies ist zwar ein deutschsprachiges Forum, die Leser beherrschen die deutsche Sprache. (Die häufigen Ausnahmen bestätigen die Regel.;-))

      Dennoch ist nicht gesagt, dass bei allen Deutsch die bevorzugte Sprache ist; bei manchen ist es vielleicht Polnisch. (Ist Jeena noch an Bord?) Die sollen doch dann gleich die polnische Übersetzung bekommen. http://forum.de.selfhtml.org/archiv/2007/9/t158692/#m1032064

      Und manche lesen auch lieber die englischen Originale, weil sie Übersetzern nicht trauen. :-/

      hier was zum schmökern: link:http://www.w3.org/International/questions/qa-when-lang-neg.de.php – äh http://www.w3.org/International/questions/qa-when-lang-neg

      Live long and prosper,
      Gunnar

      --
      Erwebsregel 208: Manchmal ist das einzige, was gefährlicher als eine Frage ist, eine Antwort.
      1. Da du öfter die I18n-FAQ verlinkst, eine Bitte: Nutze den generischen URI!

        google, suchbegriff: "[THEMA] gunnar w3c" [1] liefert nunmal solche treffer - werd aber versuchen, mir das zu merken ;) - man muss ja ansich nur das drangefummelte .de.php entfernen

        [1] mit schleimspur

        1. @@suit:

          google, suchbegriff: "[THEMA] gunnar w3c" [1] liefert nunmal solche treffer

          Auf bittersmann.de hab ich auch die deutschen Übersetzungen verlinkt (will ja auch speziell auf diese hinweisen).

          man muss ja ansich nur das drangefummelte .de.php entfernen

          Manchmal vergess ich das auch.

          [1] mit schleimspur

          Oh, ich wollte dich nicht zur Schnecke machen.

          Live long and prosper,
          Gunnar

          --
          Erwebsregel 208: Manchmal ist das einzige, was gefährlicher als eine Frage ist, eine Antwort.
    2. hier was zum schmökern: FAQ: Zeichencodierung für Anfänger

      Besten Dank.

      Die Frage ist vielmehr (nachdem man das 1x1 der Zeichencodierung gelesen hat):
      Wie gehe ich pragmatisch damit um und konviertiere ggf. automatisch oder halbautomatisch zwischen den Zeichensätzen. Ich nutze z.B. Joomla und der mag in der aktuellen Version nur UTF8. Der alte Content ist sicher auch anders codiert gewesen. Dieses gefummel mit den Zeichensätzen geht einem echt auf den Keks. MySQL codiert auch nochmal selber. Mit PHP UTF Konvertierung habe ich auch schon konvertiert. Gibt es da Tools, um den Content sauber zu bekommen?

      1. Wie gehe ich pragmatisch damit um und konviertiere ggf. automatisch oder halbautomatisch zwischen den Zeichensätzen. Ich nutze z.B. Joomla und der mag in der aktuellen Version nur UTF8. Der alte Content ist sicher auch anders codiert gewesen. Dieses gefummel mit den Zeichensätzen geht einem echt auf den Keks. MySQL codiert auch nochmal selber. Mit PHP UTF Konvertierung habe ich auch schon konvertiert. Gibt es da Tools, um den Content sauber zu bekommen?

        nach solche tools hätte ich schon mal gesucht, leider nix gefunden

        aber wenn du weißt, wie es vorher codiert war und wie es jetzt codiert sein soll ist es ein leichtes

        die holzhammermethode zur konvertierung von alten datenbankinhalten: datenbank dumpen, den dump bearbeiten und wieder einspielen

        wie immer gilt: vorher backup machen

        in deinem fall scheint es jedenfalls so, als hättest du ansi-inhalte (latin-1 zb) und diese werden als utf-8 verschickt - das führt zu defekten zeichen

        1. nach solche tools hätte ich schon mal gesucht, leider nix gefunden

          die holzhammermethode zur konvertierung von alten datenbankinhalten: datenbank dumpen, den dump bearbeiten und wieder einspielen

          Danke, das bestätigt mich zumindest. Auch wenn es nicht direkt hilft.

          1. Danke, das bestätigt mich zumindest. Auch wenn es nicht direkt hilft.

            solche "tools" wären auch nur dann nötig, wenn du gemischte inhalte aus verschiedenen zueinander nicht ganz kompatiblen zeichensätzen hast - wenn beide faktoren bei einem update bekannt sind, ist es problemlos möglich ohne irgendwelche hilfsmittel

          2. Hallo

            die holzhammermethode zur konvertierung von alten datenbankinhalten: datenbank dumpen, den dump bearbeiten und wieder einspielen

            Danke, das bestätigt mich zumindest. Auch wenn es nicht direkt hilft.

            Es wäre aber die sauberste, wenn auch aufwendigste Lösung. Alternativ, kannst du bei der Verbindungsaufnahme mit der Datenbank explizit einen zu benutzenden Charset angeben. Wenn du z.B. utf-8 benutzen willst, kannst du, als erste Anfrage an den DB-Server, mit "SET NAMES utf8" diesen Charset für alle folgenden Anfragen und deren Ergebnisse festlegen. Den Rest macht dann die DB-Engine, egal in welchem Charset die Daten in der DB liegen. Die Seiten, in denen die Ausgabe erfolgt, müssen dann natürlich auch in diesem Charset kodiert sein und vom Webserver so ausgegeben werden.

            Tschö, Auge

            --
            Die deutschen Interessen werden am Liechtenstein verteidigt.
            Veranstaltungsdatenbank Vdb 0.2
  2. echo $begrüßung;

    ich nutze den Firefox 3 - wie kommen diese Sonderzeichen zustande und wie kann ich die unterbinden / vermeiden? - Mit PHP oder SQL was aus den Texten rausfiltern / ersetzen?:
    Sonderzeichen im Text

    Das dürften die beiden Zeichen „ und “ in Windows-1252-Kodierung sein. Normalerweise haben sich die Browser nicht so eng, wenn ihnen erzählt wird, es komme ISO-8859-1, stattdessen aber Windows-1252 bekommen. Win-1252 enthält 27 Zeichen mehr als ISO-8859-1.

    Welche Kodierung deklarierst du in der charset-Angabe des HTTP-Headers Content-Type?
    Welche Kodierung deklarierst du ersatzweise im gleichnamigen HTML-Meta-Element?
    Auf welche Kodierung hat sich der FF eingestellt? (Was ist im Menü Ansicht->Zeichenkodierung angehakt?)
    In welcher Kodierung sendest du deine Daten tatsächlich?

    echo "$verabschiedung $name";

    1. Hm,

      Das dürften die beiden Zeichen „ und “ in Windows-1252-Kodierung sein. Normalerweise haben sich die Browser nicht so eng, wenn ihnen erzählt wird, es komme ISO-8859-1, stattdessen aber Windows-1252 bekommen. Win-1252 enthält 27 Zeichen mehr als ISO-8859-1.

      Welche Kodierung deklarierst du in der charset-Angabe des HTTP-Headers Content-Type?
      Welche Kodierung deklarierst du ersatzweise im gleichnamigen HTML-Meta-Element?
      Auf welche Kodierung hat sich der FF eingestellt? (Was ist im Menü Ansicht->Zeichenkodierung angehakt?)
      In welcher Kodierung sendest du deine Daten tatsächlich?

      Im ist eingestellt: Firefox: UTF8

      Im Header:   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

      Im HTTP Header:
       GET /Joomla-1.5RC_test/ HTTP/1.1
      User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1
      Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
      Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7

      Keine Ahnung, mit den verschiedenen Kodierungen das verstehe ich noch nicht so richtig.

      1. Sorry, das hier ist beim HTTP Header drin:

        Content-Type: text/html; charset=utf-8

        • Irgendwie stimmt das doch überein. - Und UTF8 kann doch fast alles, warum also eine falsche Darstellung?
        1. echo $begrüßung;

          • Irgendwie stimmt das doch überein. - Und UTF8 kann doch fast alles, warum also eine falsche Darstellung?

          Unter Unicode sind die ersten 256 Zeichen die gleichen wie ISO-8859-1. Der Bereich 80 bis 9F ist (anders als bei Windows-1252) nicht mit darstellbaren Zeichen belegt. Die von dir gesuchten Anführungszeichen haben die Unicode-Codepoints 201E und 201C und nicht 84 und 93. Kodiere sie richtig oder verwende eine passende Umkodierfunktion, die von Win-1252 nach UTF-8 umkodieren kann.

          echo "$verabschiedung $name";