📅  最后修改于: 2023-12-03 15:37:25.736000             🧑  作者: Mango
当使用 PHP PDO 扩展连接数据库时,我们可以使用以下方法来设置字符集为 UTF8,确保我们在应用程序中的所有数据都以正确的编码进行传输和处理。
在连接数据库时,我们可以将 charset
参数设置为 utf8
,在 DSN 参数字符串中添加如下参数:
$dsn = 'mysql:host=localhost;dbname=mydb;charset=utf8';
$username = 'username';
$password = 'password';
try {
$pdo = new PDO($dsn, $username, $password);
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
我们可以使用 PDO::exec 方法设置字符集,该方法允许我们执行任意 SQL 语句。因此可以使用设置字符集的 SQL 语句来设置。
$dsn = 'mysql:host=localhost;dbname=mydb';
$username = 'username';
$password = 'password';
try {
$pdo = new PDO($dsn, $username, $password);
$pdo->exec('SET NAMES utf8');
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
我们还可以使用 PDO::setAttribute 方法设置字符集,该方法允许我们设置 PDO 属性。这种方法与上述方法类似,但具有更具体的设置。
$dsn = 'mysql:host=localhost;dbname=mydb';
$username = 'username';
$password = 'password';
try {
$pdo = new PDO($dsn, $username, $password);
$pdo->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND, "SET NAMES utf8");
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
以上三种方法均可以设置 PDO 数据库连接到 UTF8 编码模式。我们可以根据需求选择其中一种方法。