MySQL-Select und PHP Switch, Sonderzeichen

  1. timbajr

    timbajr Thread StarterMacUser Mitglied

    Mitglied seit:
    22.04.2005
    Beiträge:
    574
    Zustimmungen:
    26
    Hi ihr,

    ich möchte aus einer MySQL DB (auf deren Encoding ich nicht zwingend Einfluss habe, zumindest noch nicht) auf ein Attribut ein switch in PHP machen. Leider kommt in einem String ein Sonderzeichen vor. Nun meine Frage, wie krieg ich das mit dem Enconding hin, dass ich zB auf "Müller" ohne Probleme ein switch ausführen kann?

    Gruß
    timbajr
     
    timbajr, 06.12.2006
  2. oneOeight

    oneOeightMacUser Mitglied

    Mitglied seit:
    23.11.2004
    Beiträge:
    48.174
    Zustimmungen:
    3.890
    du kannst doch mit mysql statements das encoding einstellen (query mit SET NAMES)...
    welche mysql version ist es denn?
    und verwendest du php-mysql oder php-mysqli?
     
    oneOeight, 06.12.2006
  3. timbajr

    timbajr Thread StarterMacUser Mitglied

    Mitglied seit:
    22.04.2005
    Beiträge:
    574
    Zustimmungen:
    26
    MYSQL Version 5.0.21

    Ich setze das Encoding mit SQL Statements auf latin1. Das müsste doch dann stimmen oder nicht?
     
    timbajr, 06.12.2006
  4. oneOeight

    oneOeightMacUser Mitglied

    Mitglied seit:
    23.11.2004
    Beiträge:
    48.174
    Zustimmungen:
    3.890
    stimmen ist relativ ;)
    weil die strings in php verschiedene encodings haben können...
    kannst ja das encoding feststellen und ggf. umkodieren...
     
    oneOeight, 06.12.2006
  5. timbajr

    timbajr Thread StarterMacUser Mitglied

    Mitglied seit:
    22.04.2005
    Beiträge:
    574
    Zustimmungen:
    26
    Hab ich probiert mit :
    Code:
    switch(mb_convert_encoding($string,"utf-8")){
    case mb_convert_encoding("textmitÜÜÜ","utf-8"):
    ...
    
    }
    
    Irgendwie will es trotzdem nicht?

    Geht das nicht irgendwie "einfacher"? Ich hatte das Problem irgendwie noch nie?!
     
    timbajr, 06.12.2006
  6. oneOeight

    oneOeightMacUser Mitglied

    Mitglied seit:
    23.11.2004
    Beiträge:
    48.174
    Zustimmungen:
    3.890
    stell doch das encoding auf utf8 in mysql, dann brauchst nicht konvertieren...
    bzw mb_detect_encoding um zu checken, ob du konvertieren musst...
    oder probier mal utf8_encode statt mb_convert_encoding
     
    oneOeight, 06.12.2006
  7. timbajr

    timbajr Thread StarterMacUser Mitglied

    Mitglied seit:
    22.04.2005
    Beiträge:
    574
    Zustimmungen:
    26
    Hab ich mit

    Code:
    if(!mysql_query("set character_set_results='utf8';")){
        die(mysql_error());
    }
    
    .. für server, database und client gemacht. Falsch? Oder was vergessen.

    OFFTOPIC:
    Hatte übrigens auf dich gehofft, dass du online bist. Hab zwar noch nie eine Frage hier eingestellt, aber deine Kommentare sind durchgehend sehr wertvoll und zeigen Kompetenz ;-) Mal so nebenbei "gelobt"
     
    timbajr, 06.12.2006
  8. oneOeight

    oneOeightMacUser Mitglied

    Mitglied seit:
    23.11.2004
    Beiträge:
    48.174
    Zustimmungen:
    3.890
    sollte eigentlich reichen, es sei denn du schickst auch utf8 queries an den server...

    check doch mal eben was für einen string du da wieder kriegst bei müller mit mb_detect_encoding...
     
    oneOeight, 06.12.2006
  9. timbajr

    timbajr Thread StarterMacUser Mitglied

    Mitglied seit:
    22.04.2005
    Beiträge:
    574
    Zustimmungen:
    26
    Der String ist laut mb_detect_encoding ein UTF-8. Das "komische" ist, dass alle nicht mit umlaut-versehenen Strings alle als ASCII ausgegeben werden (also auch noch mb_convert_encoding).

    EDIT: ich schicke ganz normal per mysql_query die Anfragen. Also bisher hats immer so geklappt...
     
    timbajr, 06.12.2006
  10. oneOeight

    oneOeightMacUser Mitglied

    Mitglied seit:
    23.11.2004
    Beiträge:
    48.174
    Zustimmungen:
    3.890
    probier mal utf8_encode

    ich schätze mal mb_detect_encoding gibt immer ascii aus, wenn keine umlaute da sind, da der wohl daran nur erkennt was das für ein string ist...
     
    oneOeight, 06.12.2006
Die Seite wird geladen...
Ähnliche Themen - MySQL Select PHP
  1. emmmmmi
    Antworten:
    4
    Aufrufe:
    1.344
    emmmmmi
    19.09.2012
  2. BendAR
    Antworten:
    13
    Aufrufe:
    6.062
  3. BadHorsie
    Antworten:
    4
    Aufrufe:
    4.223
    BadHorsie
    10.03.2005