dedlfix: Das leidige Problem der Umlaute

Beitrag lesen

Hi!

ich finde gerade nicht das Problem warum die Umlaute aus meiner Datenbank alle komplett als "?" statt Umlaut angezeigt werden :/

Sind sie bereits im DBMS defekt? Werden sie mit dem phpMyAdmin richtig angezeigt oder nicht?

Meine Datenbank benutzt die Kollation "latin1_german2_ci".

Das ist ein Defaultwert für neu anzulegende Tabellen, die diesen Wert als Default-Wert für neu anzulegende Felder verwenden. Wenn du mit Datenbank dein DBMS meinst, so ist die DBMS-Einstellung auch wieder nur der Default-Wert für neue Datenbanken. Letzlich interessiert jedoch nur die Kodierung der einzelnen Felder.

$sql = "SELECT name,DATE_FORMAT(date, '%d.%M %Y'),icontype FROM pictures_test WHERE id='". $_GET['t'] ."'";

Kontextwechsel beachten! Du arbeitest doch schon mit Prepared Statements, warum verwendest du dann keinen gebundenen Parameter bei der Query?

$dbconn->set_charset("utf8");

Wenn deine Felder als Latin1 gekennzeichnet sind und die Daten darin auch so kodiert sind (Kontrolle mit dem PMA) dann bewirkt diese Anweisung, dass die Daten umkodiert werden, bevor sie zurückgegeben werden. Fehlermöglichkeiten gibt es viele, am besten ist, das Prinzip zu verstehen und dann gleich richtig zu handeln: http://wiki.selfhtml.org/wiki/Themen:Zeichencodierung/MySQL.

Lo!