Niedawno postanowiłem przerobic swój skrypt tak, aby używał PDO.
Napotkałem jednak problem z kodowaniem.
Stara funkcja:
<?php //--------------------------- // Database connection //--------------------------- exit; } //--------------------------- // Database encoding //--------------------------- mysql_set_charset('utf8', $conn); //--------------------------- // Database selecting //--------------------------- exit; } exit; } $result[] = $row['Answer']; } ?>
Nowa z PDO:
<?php try { $pdo = new PDO("mysql:host=$db_hostname;dbname=$db_name;charset=UTF8", $db_username, $db_password); $pdo -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo -> setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND, "SET NAMES UTF8"); $actual_lvl = 2; $sql = 'SELECT Answer FROM `Answers` WHERE ID_lvl=:actual_lvl'; $stmt = $pdo -> prepare($sql); foreach($stmt as $row) { } $stmt -> closeCursor(); } catch(PDOException $e) { } ?>
Kodowanie w bazie jest ok.(utf8_general)
Wynik w przeglądarce:
1-sza funkcja:
kałasznikow
2-ga funkcja:
ka?asznikow
Ma ktoś jakieś pomysły?
Pozdrawiam,
mlawnik