Felix Riesterer: UTF-8-Probleme

Beitrag lesen

Lieber MudGuard,

<?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']
   ]);

da sehe ich nirgends ein SET NAMES utf8. In meiner DB-Klasse ist der Aufruf dieser:

$t->pdo = new \PDO(
  sprintf(
    'mysql:dbname=%1$s;host=%2$s;port=%3$s;charset=UTF8;',
    $settings['name'],
    $settings['host'],
    $settings['port']
  ),
  $settings['user'],
  $settings['pw'],
  array(
    \PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION,
    \PDO::MYSQL_ATTR_FOUND_ROWS => true,
    \PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'
  )
);

Vielleicht hilft Dir das ja schon weiter?

Liebe Grüße

Felix Riesterer