kostenloser Webspace werbefrei: lima-city


ewig leidiges Thema charset (PHP -> Mysql)

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    airfield-manager

    Kostenloser Webspace von airfield-manager

    airfield-manager hat kostenlosen Webspace.

    Hallo

    ich will per PHP einen Datenbankeintrag ändern.

    lasse ich mir den sql Befehl ausgeben, welcher durch PHP erstellt und gesendet wird erhalte ich
    Update profile SET interest='hässliche Entlein füttern' WHERE id=3


    In der Datenbank kommt allerdings nur das da an:
    hässliche Entlein füttern


    Die Seite wird in UTF-8 betrieben.
    Sämtliche php und html Files sind im UTF8 Format gespeichert.
    Die Datenbank hat in den Textfeldern die Kollation utf8_general_ci

    Ich weiss einfach nicht mehr weiter wo ich suchen muss. Nichtmal mehr was ich bei google eingeben soll um einen Lösungsansatz zu finden.

    Wer hat eine Idee an was das noch liegen könnt?

    Merci für Eure Antworten.

  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Mit folgenden Funktion kannst du die Codierung auslesen:

    echo mb_detect_encoding($string);

    Was ist die Ausgabe?

    Versuch mal einmalig nach Verbinden mit der Datenabank die Übertragung auf uft8 zu setzen.

    mysql_query("SET NAMES 'utf8'");


    Beitrag zuletzt geändert: 6.11.2014 12:44:58 von c143
  4. Autor dieses Themas

    airfield-manager

    Kostenloser Webspace von airfield-manager

    airfield-manager hat kostenlosen Webspace.

    Set Names hab ich eingebaut.

    mb_detect versuch ich gleich heut abend wenn ich daheim bin. Und melde mich dann nochmal mit der Ausgabe.


    Vielleicht noch als zusätzliche Info wenn ich den Befehl, welcher von PHP sendet (den ich mir hab ausgeben lassen) kopiere und direkt in der Datenbank eingebe, so bekomme ich die Einträge wie gewünscht.
  5. Hallo,
    ich kenne das Problem auch, habe es aber folgendermaßen beheben können...

    Erst einmal solltest Du, falls noch nicht geschehen, deine Datenverbindung auf mysqli umstellen, da mysql veraltet ist und demnächst wohl entfernt wird.
    Für die Umstellung auf den richtigen Zeichensatz hat mir folgende Codezeile geholfen, bzw. meine Datenverbindung habe ich so hergestellt...
    $mysqli = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
    if ($mysqli->connect_error) {
    	die('Connect Error (' . $mysqli->connect_errno . ') ' . $mysqli->connect_error);
    };
    
    // Setzen des UTF-8 Zeichensatz nach Herstellung der Datenverbindung
    
    if (!$mysqli->set_charset("utf8")) {
    	die('Error loading character set utf8: ' . $mysqli->error);
    };


    Beitrag zuletzt geändert: 6.11.2014 14:51:01 von staymyfriend
  6. Autor dieses Themas

    airfield-manager

    Kostenloser Webspace von airfield-manager

    airfield-manager hat kostenlosen Webspace.

    Hallo Stay

    Danke ;)

    Ich nutze Mysqli Befehle. Hatte aber gestern bei meinem Versuch mit Mysql("SET NAMES 'utf8'") gearbeitet. Kann ja nicht funktionieren.
    Ich nutze mysqli zwar nicht in Klassen wie du es vorschlägst habe aber jetzt entsprechenden Befehl mit eingebaut

    mysqli_set_charset(<link>,'utf8');

    Siehe da nun tut es was es soll. :thumb:

    Euch beiden nochmals vielen vielen Dank für die Unterstützung.
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!