Решение этой проблемы радикально на вызов PDO.
Я ошибочно использую по ошибке два разных вызова, один из которых не использует правильную конфигурацию utf8 для вызова, подобного этому
try{
$pdo = new PDO("mysql:host=".DBHost.";dbname=".DBName."", DBUser, DBPassword);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e){
die("ERROR: Could not connect. " . $e->getMessage());
}
И, наконец, при добавлении в ПРАВИЛЬНУЮ конфигурацию utf-8 все символы отображаются хорошо.
try{
$pdo = new PDO('mysql:dbname=' . $this->DBName . ';host=' . $this->Host . ';port=' . $this->DBPort . ';charset=utf8',
$this->DBUser,
$this->DBPassword,
array(
//For PHP 5.3.6 or lower
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'",
PDO::ATTR_EMULATE_PREPARES => false,
//
//PDO::ATTR_PERSISTENT => true,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true
)
);
} catch(PDOException $e){
die("ERROR: Could not connect. " . $e->getMessage());
}
Последний код решил проблему.
Спасибо!