dedlfix: MySQL Charset

Beitrag lesen

echo $begrüßung;

Wenn ich in einer Datenbank, die als Standard in latin1 konfiguriert wurde, nach diesem Schema Tabellen erstellen lasse:

$sql['tabelle'] = "

Was willst du denn hier mit PHP-Code bei einem reinen Datenbank-Problem?

CREATE TABLE tabelle (
    .....
  ) CHARACTER SET utf8 COLLATE utf8_general_ci;";
reicht das dann, oder sollte besser die ganze Datenbank auf utf-8 umgestellt werden:

Wofür soll das reichen?

Letzten Endes zählt die Kodierung des einzelnen Feldes. Und die dürfen durchaus innerhalb einer Tabelle verschieden kodiert sein.

Die Angaben zur Datenbank und zur Tabelle sind nur Default-Angaben, die herangezogen werden, wenn für eine Tabelle oder ein Feld keine explizite Angabe zur Kodierung/Kollation gemacht wurde.

Eigentlich sollte es reichen, wenn die Tabellen entsprechend kodiert werden, oder?

Wie gesagt, die Feldkodierung ist ausschlaggebend. Und für den Transport der Daten von und zum Client ist die pro Verbindung auszuhandelnde Kodierung maßgebend. Das wird gern übersehen. Stichwörter: mysql_set_charset() oder auch SET NAMES.

echo "$verabschiedung $name";