第 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);