Anzeige

PHP & SQL & Umlaute - mögen sich mal wieder nicht...?

PHP & SQL & Umlaute - mögen sich mal wieder nicht...? | PSD-Tutorials.de

Erstellt von ap1, 26.01.2010.

  1. ap1

    ap1 Grafik/Web

    Dabei seit:
    18.11.2007
    Beiträge:
    80
    Geschlecht:
    männlich
    Ort:
    localhorst
    Software:
    Photoshop CS4 Extended
    Kameratyp:
    EOS 450D
    PHP & SQL & Umlaute - mögen sich mal wieder nicht...?
    Hey Leute!

    Denke die Überschrift ist klar ;)

    Aus Ü Ä Ö ß oder sowas wird so zeugs wie:
    ölä und ü etc...

    DB Charset:
    Code (Text):
    1. utf8_unicode_ci
    DB Typ:
    Code (Text):
    1. MyISAM
    PHP Header: (macht das überhaupt sinn?)
    Code (Text):
    1. header('Content-Type: text/html; charset=utf-8');
    HTML Head:
    Code (Text):
    1. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    und DB Query:
    Code (Text):
    1. "UPDATE xyz SET abc = '".mysql_real_escape_string($str)."'"
    EDIT: wenn ich die($sqlQuery); mache, gibt er mir brav alle Ümläüte aus... Es liegt also wahrscheinlich am DB Charset?

    Er will mir keine Umlaute speichern - was soll das?


    PS 1: charset der DB auf UTF-8_bin zu ändern bringt nur einen SQL fehler!
    PS 2: macht es sinn zB Namen als J&ouml;rg zu speichern?
     
    Zuletzt bearbeitet: 26.01.2010
    #1      
  2. ChrisvA

    ChrisvA Aktives Mitglied

    Dabei seit:
    06.06.2009
    Beiträge:
    265
    Geschlecht:
    männlich
    Software:
    Photoshop CS4, Nodepad++, Eclipse, Gimp,...
    Kameratyp:
    Lumix DMC-TZ3
    PHP & SQL & Umlaute - mögen sich mal wieder nicht...?
    AW: PHP & SQL & Umlaute - mögen sich mal wieder nicht...?

    Hast du mal versucht, ob du den SQL-String (SQL-Query) direkt in PHPMyAdmin eintragen kannst und ob dann alles richtig eingetragen wird.
     
    #2      
  3. ap1

    ap1 Grafik/Web

    Dabei seit:
    18.11.2007
    Beiträge:
    80
    Geschlecht:
    männlich
    Ort:
    localhorst
    Software:
    Photoshop CS4 Extended
    Kameratyp:
    EOS 450D
    PHP & SQL & Umlaute - mögen sich mal wieder nicht...?
    AW: PHP & SQL & Umlaute - mögen sich mal wieder nicht...?

    Danke :D
    Ja... jetzt eben gerade - Da kommts mit ü ö ä ß etc... an! An was liegt das jetzt?

    lg & vielen dank bis hierhin
     
    Zuletzt bearbeitet: 26.01.2010
    #3      
  4. ChrisvA

    ChrisvA Aktives Mitglied

    Dabei seit:
    06.06.2009
    Beiträge:
    265
    Geschlecht:
    männlich
    Software:
    Photoshop CS4, Nodepad++, Eclipse, Gimp,...
    Kameratyp:
    Lumix DMC-TZ3
    PHP & SQL & Umlaute - mögen sich mal wieder nicht...?
    AW: PHP & SQL & Umlaute - mögen sich mal wieder nicht...?

    Also der Fehler liegt dann auf jeden Fall im unterschiedlichen/falschen Zeichensatz vom PHP-SQL-Query und der Verarbeitung in MySQL.
    Also den Zeichensatz, den du an die Datenbank sendest stimmt vermutlich nicht mit dem überein, den die Datenbank erwartet (und auch für die weitere Verarbeitung benutzt).
    Da ich mit mit MySQL-Server aber leider nicht besonders gut auskenne, kann ich dir leider nicht weiterhelfen.
     
    #4      
  5. ap1

    ap1 Grafik/Web

    Dabei seit:
    18.11.2007
    Beiträge:
    80
    Geschlecht:
    männlich
    Ort:
    localhorst
    Software:
    Photoshop CS4 Extended
    Kameratyp:
    EOS 450D
    PHP & SQL & Umlaute - mögen sich mal wieder nicht...?
    AW: PHP & SQL & Umlaute - mögen sich mal wieder nicht...?

    Jo :D vielen Dank! Immerhin habe ich so viel mit deiner Hilfe rausgefunden!

    An alle anderen:
    Wie geht das?
     
    #5      
  6. saila

    saila Moderatorle

    Dabei seit:
    21.06.2006
    Beiträge:
    2.239
    Geschlecht:
    männlich
    Ort:
    50°48'23.69" N 7°14'22.19" O
    Software:
    Eclipse, PHP5 OO, MySQL5, CSS(auch Barrierefrei), JS, Symfony
    PHP & SQL & Umlaute - mögen sich mal wieder nicht...?
    AW: PHP & SQL & Umlaute - mögen sich mal wieder nicht...?

    Hi,

    also das kann an drei Möglichkeiten liegen:
    1. default charset ist nicht eingestellt bei php
    2. HTTP_ACCEPT_CHARSET ist iso und nicht utf-8
    3. die DB-Tabelle hat kein utf-8 bzw. die text- oder varchar-Felder haben kein utf-8

    1. und 2. kannst du herausfinden durch einen Eintrag in einer php-Datei wie folgt:
    PHP:
    1.  
    2. <?php
    3. echo phpinfo();
    4. ?>
    5.  
    Was die DB betrifft, kannst du dir die Einstellung für die jeweiligen Felder in der Tabelle bzw. DB-Tabelle ansehen (Stichwort: phpMyAdmin)
     
    #6      
  7. sh0ck

    sh0ck PST-SURVIVOR

    Dabei seit:
    17.11.2005
    Beiträge:
    53
    Geschlecht:
    männlich
    Ort:
    Fürth / Bayreuth
    Software:
    Adobe Photoshop CS3 Extended, Art Rage Studio Pro, Alchemy, Notepad++
    PHP & SQL & Umlaute - mögen sich mal wieder nicht...?
    AW: PHP & SQL & Umlaute - mögen sich mal wieder nicht...?

    hallo.

    EDIT:
    nochmal durchgelesen. er speichert dir also die datensätze nicht korrekt in der db-tabelle?
    probier mal folgendes:

    PHP:
    1.  
    2. "UPDATE xyz SET abc = '".utf8_encode(mysql_real_escape_string($str))."'"
    3.  
    gruss chris
     
    Zuletzt bearbeitet: 26.01.2010
    #7      
  8. ap1

    ap1 Grafik/Web

    Dabei seit:
    18.11.2007
    Beiträge:
    80
    Geschlecht:
    männlich
    Ort:
    localhorst
    Software:
    Photoshop CS4 Extended
    Kameratyp:
    EOS 450D
    PHP & SQL & Umlaute - mögen sich mal wieder nicht...?
    AW: PHP & SQL & Umlaute - mögen sich mal wieder nicht...?

    +++ LÖSUNG +++ LÖSUNG +++ LÖSUNG +++ LÖSUNG +++ LÖSUNG
    (weiter unten)
    phpInfo sagt mir:
    Code (Text):
    1. HTTP_ACCEPT_CHARSET ISO-8859-1,utf-8;q=0.7,*;q=0.7
    Und die Spalte der DB hat folgende Einstellungen:
    varchar(255) utf8_unicode_ci
    bzw. die Tabelle selbst MyISAM utf8_unicode_ci

    Mit dem default charset hast du recht!
    Code (Text):
    1. default_charset    no value    no value
    sollte ich auf UTF-8 setzen oder?

    Ich probiers mal.
    Edit: ich kriege es nicht hin!! Wie ändere ich default_charset auf UTF-8?
    File: php.ini
    Code (Text):
    1. default_charset = "utf-8"
    geht nicht??

    Hallo Chris!

    Deine Lösung ergibt leider nur: ü :(

    lg & vielen Dank bis hierher!

    ##################################################################
    ##################################################################


    Habe die Lösung!

    Da ich jetzt direkt in meine SQL Klasse gegangen bin, und zufällig per Google auf den Befehl
    Code (Text):
    1. mysql_set_charset('utf8',$this->myCon);
    gestoßen bin, besteht nun eine UTF-8 DB verbindung :=)

    Vielen Dank für eure Bemühungen!
    PS: der Charset in der DB kann übrigens
    utf8_swedish_ci bleiben, warum auch immer :)

    Vielen Dank!
     
    Zuletzt bearbeitet: 27.01.2010
    #8      
x
×
×