gpt4 book ai didi

mysql - PHP PDO : chars ÖÄÅ wont show

转载 作者:行者123 更新时间:2023-11-30 23:39:46 27 4
gpt4 key购买 nike

无论我想做什么。如果我使用 öäå 或进行 while 循环,从数据库中包含 öäå 的行插入,它看起来像 öäå。

它一定与 PDO 有关,因为它与 mysql_* 一起工作得很好。

虽然我在 mysql_* 中有这些属性:

# mysql_set_charset("utf8",$link);
# mysql_query("SET NAMES 'UTF8'");

我在 PDO 中的连接如下所示:

$connect = new PDO("mysql:host=".DB_HOST.";dbname=".DB_NAME.";charset:UTF-8", DB_USER, DB_PASS, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));

我该如何解决这个问题?我相信我在某处也需要“设置名称”,如何?

最佳答案

SET NAMES 'UTF8' 语句是正确的,但你必须每次都执行它。您可以指示 PDO 自动运行命令:

$dsn = sprintf( 'mysql:dbname=%s;host=%s', DB_NAME, DB_HOST );
$driver_options = array( PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8' );
try {
$dbc = new pdo($dsn, $user, $pw, $driver_options);
}
catch (PDOException $e) {
// Handle exception
}

(通过 Galen Grover )

关于mysql - PHP PDO : chars ÖÄÅ wont show,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4381324/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com