MudGuard: UTF-8-Probleme

Beitrag lesen

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