Kollation - Umlaute

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #31
    Guten Morgen,

    so, bin heut mal extra früh aufgestanden und hab mich nochmal rangemacht.
    Ich hab nochmal alles komplett von vorn gemacht. Selbst die Datenbank neu angelegt. Im Quelltext ist nun so gut wie nichts mehr drin, bis auf statischer Text und die Datenbankabfrage.

    Sieht im ganzen dann so aus:

    HTML-Code:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    </head>
    <body>
    Hier html text äöü  <br><br><br>
    
    {foreach item=row from=$artikel}
    {$row.header}<br>
    {/foreach}
    
    </body>
    </html>
    Statischer Text wird korrekt angezeigt, Dynamischer nicht.
    Wo ist hier der Knüppelsmilie ? ..hehe..

    Also, Datei hab ich nochmal neu gespeichert.
    Hab mir da auch mal Notepad++ geladen und damit meinen Quelltext
    geschrieben und im UTF-8 gespeichert.
    Aber Da sind keine Veränderungen.

    Könnt ihr eure Adleraugen nochmal bitte draufwerfen?

    Hier nochmal ein Link:

    edit: Verdammt, jetzt gehts schon wieder glaub ich, aber ich hab garnichts verändert?!..manno..
    Was ist das?
    Zuletzt geändert von Marcus-24-D; 17.10.2010, 10:48.

    Kommentar


    • #32
      Könnt ihr eure Adleraugen nochmal bitte draufwerfen?
      Ja!

      Beim lesen des Threads ist mir einiges aufgefallen:

      Erste Verwirrung:
      Datenbank/Tabellen/Spalten Kollation = UTF-8
      Die Kollation ist ganz was anderes als der CHARSET
      Kollation: Auswirkungen auf vergleichen und sortieren
      Spalten, Tabellen und Datenbank CHARSET: Zeichensatz in dem die Daten gehalten werden.
      Verbindungs CHARSET: Der Zeichensatz, in dem die Daten an die nächst höhere (aufrufende) Schicht weitergegeben wird.

      Zweite Verwirrung:
      ok, ich habs..habs mit mysql_set_charset ("UTF-8"); gelöst.
      Kann nicht sein!
      MySQL akzeptiert kein "UTF-8" es besteht auf "utf8"


      Du sendest den Header:
      Content-Type: text/html
      Möchtest aber sicherllich
      Content-Type: text/html; charset=utf-8
      senden



      Des weiteren könnte durch die ganze Zeichensatzverwirrung Schrott in der DB stehen. z.B. könntest du iso-8859-X codiertes Zeugs in eine UTF-8 Spalte gepresst haben, oder umgekehrt.
      Das heißt:
      Alle Tests immer mit frischen Daten fahren!
      Wir werden alle sterben

      Kommentar


      • #33
        Hi, Danke für Deine Antwort.
        Also, ich dachte das die Kollation für den Zeichensatz in der Datenbank
        zuständig ist. Daher hab ich dort auch utf8_general_ci stehen.

        Die Daten darin sind nun frisch aktuell.
        Hab sie per Hand im PMA eingegeben.

        Du sendest den Header:
        Zitat:
        Content-Type: text/html
        Möchtest aber sicherllich
        Zitat:
        Content-Type: text/html; charset=utf-8
        senden
        Wie hab ich das nun zu verstehen. Meinst Du das nun per PHP oder HTML.

        Wenn php, meintest Du bestimmt das hier: ??
        PHP-Code:
        mysql_set_charset ("UTF-8"); 
        Das hatte ich später nochmal zu:

        PHP-Code:
        mysql_query("SET NAMES 'utf8'");
        mysql_query("SET CHARACTER SET 'utf8'"); 
        geändert, jedoch ohne Resultat.
        Oder Wolltest Du mir damit nun ganz was anderes sagen?

        Kommentar


        • #34
          Zitat von Marcus-24-D Beitrag anzeigen
          Hi, Danke für Deine Antwort.
          Also, ich dachte das die Kollation für den Zeichensatz in der Datenbank
          zuständig ist. Daher hab ich dort auch utf8_general_ci stehen.
          Mache dich kundig!
          Mit "dachte" bist du auf dem falschen Ast!
          Bitte lesen: MySQL :: MySQL 5.1 Referenzhandbuch :: 10 Zeichensatz-Unterstützung

          Zitat von Marcus-24-D Beitrag anzeigen
          Die Daten darin sind nun frisch aktuell.
          Hab sie per Hand im PMA eingegeben.
          Sehr gut!
          Hast du jetzt wenigstens die Charsets unter Kontrolle oder wieder nur auf die Kollation geachtet?



          Zitat von Marcus-24-D Beitrag anzeigen
          Wie hab ich das nun zu verstehen. Meinst Du das nun per PHP oder HTML.

          Wenn php, meintest Du bestimmt das hier: ??
          PHP-Code:
          mysql_set_charset ("UTF-8"); 
          Das hatte ich später nochmal zu:

          PHP-Code:
          mysql_query("SET NAMES 'utf8'");
          mysql_query("SET CHARACTER SET 'utf8'"); 
          geändert, jedoch ohne Resultat.
          Oder Wolltest Du mir damit nun ganz was anderes sagen?
          Ja! Das ist doch wieder ein völliges Durcheinander....

          mysql_set_charset ("UTF-8"); und mysql_query("SET NAMES 'utf8'"); mysql_query("SET CHARACTER SET 'utf8'"); haben nichts mit irgendwelchen Headern zu tun!
          Wobei mysql_set_charset ("UTF-8"); sowieso völliger Blödsinn ist. Wenn, dann bitte: mysql_set_charset ("utf8"); !!

          Ich meine du sollst den richtigen HTTP Header senden!
          Den richtigen HTML Head setzt du ja schon...
          Aber das muss nicht reichen!
          Wir werden alle sterben

          Kommentar


          • #35
            Aber was ich nicht verstehe ist, wie ich den richtigen http header mit php senden soll?!
            Hab mich gerade mal durchgegoogelt, aber für sowas bin ich nicht fündig geworden ..oder bin zu doof..

            edit: wie siehst du denn welcher header gesendet wird?

            oh weia..du meintest sicher sowas hier:

            header("Content-Type: text/html; charset=utf-8");

            sry, mein kopp is schon so voll das ich gucken muss wo noch was rein passt
            Zuletzt geändert von Marcus-24-D; 17.10.2010, 11:44.

            Kommentar


            • #36
              ..oder bin zu doof..
              Dazu möchte ich mich jetzt nicht allzu konkret äußern.
              [google]php http header senden[/google]
              Führt dich unweigerlich zu: PHP: header - Manual


              edit: wie siehst du denn welcher header gesendet wird?
              Die meisten werden wohl die LiveHttpHeaders Erweiterung des FF nutzen.
              Ich nutze die im Opera eingebaute "Drachen Fliege" (Dragonfly)
              Wir werden alle sterben

              Kommentar


              • #37
                ja, live headers hab ich ja auch, aber so ganz schlau werd ich aus dem ding auch nicht.
                gut, wenn ich nochmal frühzeitig sterbe, liegt an herzversagen *lach
                ich sollte mir nen anderes hobby suchen

                also da war ich ja garnicht ma auf dem holzwege..

                mit

                header("Content-Type: text/html; charset=utf-8");

                klappt das nun hoffe ich reibungslos. *kriese*
                Ich habe irgendwie die Befürchtung das es nicht der letzte meiner Beiträge zu diesem Thema ist *gg
                Danke Dir..wie es ausschaut, funktiniert es erstmal..mal abwarten

                Kommentar

                Lädt...
                X