PHP MySQLi 函数

PHP mysqli::set_charset() / mysqli_set_charset() 函数用于设置要使用的字符集与数据库服务器之间发送数据时。

语法

//面向对象风格
public mysqli::set_charset(charset)

//面向过程风格
mysqli_set_charset(mysql, charset) 

参数

mysql必填。 仅适用于面向过程风格:指定 mysqli_connect() 或 mysqli_init() 返回的 mysqli 对象。
charset必填。 指定所需的字符集。

返回值

成功时返回 true,失败时返回 false。

示例:面向对象风格

下面的示例显示了mysqli::set_charset()方法的用法。

<?php
//建立与数据库的连接
$mysqli = new mysqli("localhost", "user", "password", "database");
if ($mysqli->connect_errno) {
  echo "Failed to connect to MySQL: ". $mysqli->connect_error;
  exit();
}

printf("Initial character set: %s\n", $mysqli->character_set_name());

//将字符集更改为utf8mb4
$mysqli->set_charset("utf8mb4");

printf("Current character set: %s\n", $mysqli->character_set_name());

//关闭连接
$mysqli->close();
?> 

输出上面的代码将类似于:

Initial character set: latin1
Current character set: utf8mb4 

示例:面向过程风格

下面的示例显示mysqli_set_charset()函数的用法。

<?php
//建立与数据库的连接
$mysqli = mysqli_connect("localhost", "user", "password", "database");
if (mysqli_connect_errno()) {
  echo "Failed to connect to MySQL: ". mysqli_connect_error();
  exit();
}

printf("Initial character set: %s\n", mysqli_character_set_name($mysqli));

//将字符集更改为utf8mb4
mysqli_set_charset($mysqli, "utf8mb4");

printf("Current character set: %s\n", mysqli_character_set_name($mysqli));

//关闭连接
mysqli_close($mysqli);
?> 

上述代码的输出将类似于:

Initial character set: latin1
Current character set: utf8mb4