在MySQL中插入中文时,主要涉及以下几个基础概念和技术点:
utf8_general_ci
和utf8_unicode_ci
是两种常见的UTF-8校对规则。原因:
解决方法:
utf8mb4
(推荐用于MySQL 5.5.3及以上版本)。mysqli_set_charset()
函数。-- 创建数据库时设置字符集
CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- 创建表时设置字符集
CREATE TABLE mytable (
id INT PRIMARY KEY,
name VARCHAR(255)
) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- 连接数据库时设置字符集(PHP示例)
$mysqli = new mysqli("localhost", "user", "password", "mydb");
$mysqli->set_charset("utf8mb4");
原因:
解决方法:
确保表或列的校对规则设置为支持中文排序的校对规则,如utf8mb4_unicode_ci
。
-- 修改表或列的校对规则
ALTER TABLE mytable CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
通过以上设置和调整,可以确保在MySQL中正确地插入、存储和检索中文数据。
领取专属 10元无门槛券
手把手带您无忧上云