Anzeige:
Ergebnis 1 bis 4 von 4

Thema: utf8_decode

  1. #1
    Registrierter Benutzer
    Registriert seit
    20.05.2006
    Ort
    Bremen
    Beiträge
    39

    utf8_decode

    Hallo Ihr Lieben,

    ich habe 'ne Frage zu utf8_decode.

    Sehe ich das richtig, dass diese Funktion ISO-8859-1 in UTF-8 umwandelt oder ist es genau umgedreht?

    Ich habe eine HTML/PHP Seite in UTF-8 Codierung und benutze diese Funktion, und die Umlaute werden richtig angezeigt. Heißt dies nun, dass die Zeichen vorher in ISO-8859-1 bzw. ISO-8859-15 waren?

    (Edit Ich glaube, ich muss dieses noch etwas genauer erklären.
    Ich lese eine Zeichenkette (von einem Audio-Stream-Server) aus, ich weiß aber nicht wie die Daten codiert sind, wenn ich diesen String direkt per echo anzeigen lasse, dann werden die Umlaute richtig dargestellt (die Seite ist UTF-8 codiert bei der Darstellung). Wenn ich nun aber genau diesen String in der Datenbank speichere (Das Feld ist Kollation:utf8_general_ci), werden die Umlaute in phpmyadmin nicht richtig dargestellt, obwohl phpmyadmin auch auf utf-8 steht.

    Gruß Olly.

    P.S.: Bin gerade voll verwirrt.. :-/ :-\
    Geändert von djaliced (19-06-2010 um 01:34 Uhr)

  2. #2
    Registrierter Benutzer
    Registriert seit
    14.01.2002
    Beiträge
    657
    aus php.net manual:
    utf8_decode — Konvertiert eine als UTF-8 kodierte ISO-8859-1-Zeichenkette in eine einfache ISO-8859-1-Zeichenkette

    die daten kommen wohl per utf8 rein wenn sie damit auf der seite richtig angezeigt werden.

    du musst aber noch überprüfen wie du auf deine datenbank zugreifst. wie das feld gespeichert wird heißt gar nichts, wihcitger ist wie die verbindung auf die datenbank stattfindet.
    normalerweise wir latin-1, das ist iso-8859-1 verwendet.

    dh ich vermute mal du hast deine utf8 daten in eine iso encodierte db geschrieben, weswegen sie phpmyadmin, der die kodierung richtig berücksichtigt die daten falsch anzeigt.

    also setzte die datenbank verbindung auf utf8 wenn du utf8 daten hinschreibst und auch wieder willst.

    das geht bei mysql mit

    set names utf8;

  3. #3
    Registrierter Benutzer
    Registriert seit
    20.05.2006
    Ort
    Bremen
    Beiträge
    39
    okay, das wusste ich gar nicht, dass man erst ein SET NAME utf8 senden muss. Ich werde es laufe der Woche gleich mal umstellen.

    Als ich nach SET NAME utf8 "gegooglet" habe, hatten die "Leute" genau das gleiche Problem wie ich.

    Vielen Dank.

    LG Olly

    P.S.: Sollte ich mich zu diesen Beitrag nicht wieder melden, dann hat es geklappt.

  4. #4
    Registrierter Benutzer
    Registriert seit
    20.05.2006
    Ort
    Bremen
    Beiträge
    39
    ... ich dachte so. Warum sollte ich mich nicht melden

    Fakt ist nun:
    • Die Daten die in der DB gespeichert werden sollen, kommen als UTF-8
    • Die Daten werden nun per SET NAME utf8 richtig in die Datenbank gespeichert und auch ausgelesen.
    • Auf der Seite werden die Daten richtig angezeigt


    Nur in phpmyadmin wir es nicht richtig angezeigt (wie auch immer phpmyadmin die Daten anzeigt), wichtig ist hier ja nur das die obersten drei Punkte funktionieren.

    LG Olly

    EDIT*:
    Teilweise gab es immer noch Probleme, ich habe es nun mit mysql_set_charset() gelöst.
    Geändert von djaliced (08-07-2010 um 16:12 Uhr)

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •