Hi,
Schreibe ich den Wert in die Datenbank, landen dort statt der Lokomotive vier Fragezeichen, wobei Umlaute und scharfes s korrekt in der Datenbank landen (auch meine Pfeilchen \u2192). So sieht's zumindest im PHP-Myadmin aus.
welche „Kollation“ ist denn in der fraglichen Spalte eingestellt? Was genau tut der Code, der in diese Spalte schreibt?
Ich zitiere mich mal:
Collation der DB, der Tabelle und der betroffenen Spalte ist utf8mb3_general_ci (das war so voreingestellt).
<?php
try {
$pdo = new PDO("mysql:host=$db_host; dbname=$db_name;", $db_user, $db_pass);
} catch (PDOException $e) {
die();
}
$insertSql = "INSERT INTO tabelle (spalte1, spalte2) VALUES (:wert1, :wert2);
$insertStatement = $pdo->prepare($insertSql);
$insertStatement->execute([
'spalte1' => $_POST['param1'],
'spalte2' => $_POST['param2']
]);
(Spaltennamen usw. anonymisiert, Validierung der Werte hab ich weggelassen, das hat ja mit dem Codierungs-Problem nix zu tun)
Danke schon mal für Deine Zeit.
cu,
Andreas a/k/a MudGuard