第 58.1 节:Python

在源代码的第一行或第二行添加以下内容(以使代码中的字面量以 UTF-8 编码):

# -*- coding: utf-8 -*-

连接数据库:

db = MySQLdb.connect(
    host=DB_HOST, user=DB_USER, passwd=DB_PASS,
    db=DB_NAME, charset="utf8mb4", use_unicode=True
)

对于网页,使用以下之一:

<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

第 58.2 节:PHP

在 php.ini 中(PHP 5.6 后为默认值):

default_charset = UTF-8

构建网页时:

header('Content-type: text/plain; charset=UTF-8');

连接 MySQL 时:

  • 不要使用 mysql_* API!
  • 对于 MySQLi:
$mysqli_obj->set_charset('utf8mb4');
  • 对于 PDO:
$db = new PDO('dblib:host=host;dbname=db;charset=utf8', $user, $pwd);

在代码中,不要使用任何转换函数。

对于数据输入:

<form accept-charset="UTF-8">

对于 JSON,为避免出现 \uxxxx:

$t = json_encode($s, JSON_UNESCAPED_UNICODE);