圖形工具導入正常,但命令列 mysql -u root -p < script.sql 導入含中文的 INSERT 語句會亂碼。提供兩種解法:修改 my.ini 或在腳本內指定字符集。
[mysql] default-character-set=utf8
SET NAMES utf8;
DROP DATABASE IF EXISTS dbname;
CREATE DATABASE dbname DEFAULT CHARACTER SET utf8;
USE dbname;
CREATE TABLE t1 (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(20)
) DEFAULT CHARSET=utf8;
SET NAMES utf8;
INSERT INTO t1 (name) VALUES ('中文測試');
關鍵點:SET NAMES utf8 等同於同時設定 character_set_client、connection、results。