Frage UTF-8 in Mysql mit PHP speichern.

  • Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

nils320

Mitglied
20 Juni 2017
61
0
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
 

Aaron3219

Senior HTML'ler
6 Oktober 2015
1.175
248
63
20
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.
 
  • Like
Reaktionen: nils320

nils320

Mitglied
20 Juni 2017
61
0
6
Ja der Editor(IntelliJ IDEA) steht auf UTF8
qge-XLP5T7_bmgylqYsVjw.png

An was kann es noch liegen?
 

Aaron3219

Senior HTML'ler
6 Oktober 2015
1.175
248
63
20
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.
 
  • Like
Reaktionen: nils320

nils320

Mitglied
20 Juni 2017
61
0
6
Die Kollation ist eigentlich auch UTF8. Es geht trotzdem leider nicht
Code:
$MOTD_1_WARTUNGEN = $_GET['MOTD_1_WARTUNGEN'];
$MOTD_1_WARTUNGEN.utf8_encode($MOTD_1_WARTUNGEN);
So habe ich es gemacht.
 

m.scatello

Senior HTML'ler
15 Februar 2017
1.664
196
63
  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?
 

nils320

Mitglied
20 Juni 2017
61
0
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
 

m.scatello

Senior HTML'ler
15 Februar 2017
1.664
196
63
Und womit guckst du in die Datenbank? Wichtig ist doch, dass im Browser alles richtig ist. Wie die Datenbank damit umgeht, ist doch wurscht.
 

nils320

Mitglied
20 Juni 2017
61
0
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
 

m.scatello

Senior HTML'ler
15 Februar 2017
1.664
196
63
Das funktioniert bei mit einwandfrei:
PHP:
<?php
  $con = mysqli_connect('localhost', 'root', '', 'test');
  mysqli_set_charset($con, "utf8");
  mysqli_query($con,"insert into `t1` (`pw1`, `pw2`, `pw3`) values('•','•','•')");
  echo "Ready";
?>
Wird auch in HeidiSQL richtig angezeigt
 

nils320

Mitglied
20 Juni 2017
61
0
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
 
Werbung: