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

Frage UTF-8 in Mysql mit PHP speichern.

nils320

Mitglied
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:
Werbung:
Es geht auch nicht ohne zu wissen was du gemacht hast einzuschätzen was du besser machen könntest.
 
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.
 
Ja der Editor(IntelliJ IDEA) steht auf UTF8
qge-XLP5T7_bmgylqYsVjw.png

An was kann es noch liegen?
 
Werbung:
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.
 
Werbung:
  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?
 
Werbung:
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
 
Und womit guckst du in die Datenbank? Wichtig ist doch, dass im Browser alles richtig ist. Wie die Datenbank damit umgeht, ist doch wurscht.
 
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
 
Werbung:
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
 
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
 
Zurück
Oben