1. Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!
    Information ausblenden

Frage UTF-8 in Mysql mit PHP speichern.

Dieses Thema im Forum "Datenbanken - z.B. MySQL" wurde erstellt von nils320, 12 November 2017.

Tags:
  1. nils320

    nils320 Mitglied

    Registriert seit:
    20 Juni 2017
    Beiträge:
    37
    Punkte für Erfolge:
    6
    Hallo,
    ich habe jetzt ein kleines PHP Formular programmiert.
    Wenn ich jetzt jedoch utf8 Zeichen wie "•" eingebe, wird das nicht richtig in MySQL gespeichert. Wenn ich es jedoch über einen MySQL Client wie PhPMyAdmin mache, wir alles richtig gespeichert.
    Was kann ich tun?

    Viele Grüße
    Nils
     
    Werbung:

    Jetzt registrieren, damit diese Werbung verschwindet
  2. Aaron3219

    Aaron3219 Aktives Mitglied

    Registriert seit:
    6 Oktober 2015
    Beiträge:
    516
    Punkte für Erfolge:
    43
  3. nils320

    nils320 Mitglied

    Registriert seit:
    20 Juni 2017
    Beiträge:
    37
    Punkte für Erfolge:
    6
    Habe ich schon gesehen und es geht trotzdem nicht
     
  4. threadi

    threadi Moderator Team Moderator

    Registriert seit:
    20 Oktober 2006
    Beiträge:
    15.179
    Punkte für Erfolge:
    83
    Es geht auch nicht ohne zu wissen was du gemacht hast einzuschätzen was du besser machen könntest.
     
  5. Aaron3219

    Aaron3219 Aktives Mitglied

    Registriert seit:
    6 Oktober 2015
    Beiträge:
    516
    Punkte für Erfolge:
    43
    Ich hatte das Problem übrigens auch mal und bei mir hat es zu Anfangs auch nicht funktioniert. Doch dann ist mir aufgefallen, dass mein Editor nicht auf utf-8 (und auch das PHP-File nicht) gestellt war. Nach dem ich das geändert hatte, hat es funktioniert.

    Check also mal BEIDES aus und schaue, ob SOWOHL Editor, als auch File auf utf-8 gestellt sind.
     
    nils320 gefällt das.
  6. nils320

    nils320 Mitglied

    Registriert seit:
    20 Juni 2017
    Beiträge:
    37
    Punkte für Erfolge:
    6
    Ja der Editor(IntelliJ IDEA) steht auf UTF8 [​IMG]
    An was kann es noch liegen?
     
  7. Aaron3219

    Aaron3219 Aktives Mitglied

    Registriert seit:
    6 Oktober 2015
    Beiträge:
    516
    Punkte für Erfolge:
    43
    Naja das File muss ja auch auf utf-8 gestellt sein (sowohl alle html-Dateien, die auf das PHP-Script zugreifen, als auch das PHP-File selbst).

    Ansonsten könntest du auch alle Strings, die in die Tabelle eingetragen werden sollen auch nochmal mit utf8_encode (http://php.net/manual/de/function.utf8-encode.php) durchlaufen lassen. Schau mal, ob das was bringt.
     
    nils320 gefällt das.
  8. Sentence

    Sentence Aktives Mitglied

    Registriert seit:
    30 Juni 2011
    Beiträge:
    439
    Punkte für Erfolge:
    28
    Die Kollation der Datenbank bzw. der Tabelle oder des Tabellenfeldes ist auch UTF-8?
     
  9. nils320

    nils320 Mitglied

    Registriert seit:
    20 Juni 2017
    Beiträge:
    37
    Punkte für Erfolge:
    6
    Die Kollation ist eigentlich auch UTF8. Es geht trotzdem leider nicht
    Code (text):
    1.  
    2. $MOTD_1_WARTUNGEN = $_GET['MOTD_1_WARTUNGEN'];
    3. $MOTD_1_WARTUNGEN.utf8_encode($MOTD_1_WARTUNGEN);
    4.  
    So habe ich es gemacht.
     
  10. m.scatello

    m.scatello Aktives Mitglied

    Registriert seit:
    15 Februar 2017
    Beiträge:
    378
    Punkte für Erfolge:
    28
    1. PHP-Script in UTF-8 Format gespeichert?
    2. Charset auf UTF-8 gesetzt?
    3. Datenbankverbindung auf UTF-8 gesetzt?
    4. Collation auf UTF-8 gesetzt?
     
  11. nils320

    nils320 Mitglied

    Registriert seit:
    20 Juni 2017
    Beiträge:
    37
    Punkte für Erfolge:
    6
    Wie setzt man
    Code (text):
    1.  
    2. Charset auf UTF-8 gesetzt?
    3. Datenbankverbindung auf UTF-8 gesetzt?
    4.  
    ?
     
  12. m.scatello

    m.scatello Aktives Mitglied

    Registriert seit:
    15 Februar 2017
    Beiträge:
    378
    Punkte für Erfolge:
    28
  13. nils320

    nils320 Mitglied

    Registriert seit:
    20 Juni 2017
    Beiträge:
    37
    Punkte für Erfolge:
    6
    Ich habe alles Probiert... Nichts geht.
    Im Browser wird es richtig angezeigt, nur in der Datenbank wird es so abgespeichert: Screenshot_16.png
    Screenshot_15.png

    Was kann ich machen? Habe schon 50h im Internet gesucht... Nichs hat geholfen
     
  14. m.scatello

    m.scatello Aktives Mitglied

    Registriert seit:
    15 Februar 2017
    Beiträge:
    378
    Punkte für Erfolge:
    28
    Und womit guckst du in die Datenbank? Wichtig ist doch, dass im Browser alles richtig ist. Wie die Datenbank damit umgeht, ist doch wurscht.
     
  15. nils320

    nils320 Mitglied

    Registriert seit:
    20 Juni 2017
    Beiträge:
    37
    Punkte für Erfolge:
    6
    Naja das Problem ist, dass Wenn ich über Java dann die Daten aus der Datenbank auslese, dass dann es nicht richtig angezeigt wird...
    Ich schaue mit HeidiSQL in die Datenbank
     
  16. m.scatello

    m.scatello Aktives Mitglied

    Registriert seit:
    15 Februar 2017
    Beiträge:
    378
    Punkte für Erfolge:
    28
    Das funktioniert bei mit einwandfrei:
    PHP:
    1. <?php
    2.   $con = mysqli_connect('localhost', 'root', '', 'test');
    3.   mysqli_set_charset($con, "utf8");
    4.   mysqli_query($con,"insert into `t1` (`pw1`, `pw2`, `pw3`) values('•','•','•')");
    5.   echo "Ready";
    6. ?>
    Wird auch in HeidiSQL richtig angezeigt
     
  17. nils320

    nils320 Mitglied

    Registriert seit:
    20 Juni 2017
    Beiträge:
    37
    Punkte für Erfolge:
    6
    Jetzt geht es...
    Ich habe den dümmsten Fehler gemacht, den man überhaupt machen kann...
    Ich habe in diesem PHP Dokument 2 MySQL-Verbindungnen gemacht(Frage mich nicht warum...) aber ich habe nur der ersten UTF-8 Zugewiesen :)
    Vielen Dank für alle Antworten :D