mysql默認編碼的問題
在MySQL的Client建數據庫:
CREATE DATABASE bbs2007;
USE bbs2007;
再建表:
CREATE TABLE article
(
id INT PRIMARY KEY AUTO_INCREMENT,
pid INT,
rootid INT,
title VARCHAR(255),
cont TEXT,
pdate DATETIME,
isleaf INT #1-not leaf 0-leaf
); www.2cto.com
往表插數據:
INSERT INTO article VALUES (NULL, 0, 1, '螞蟻大戰大象', '螞蟻大戰大象', NOW(), 1);
出現這個錯誤:
MySQL插入中文時出現ERROR 1406 (22001): Data too long for column 'name' at row 1
解決辦法是:
先使用命令set names gbk;再執行插入數據的SQL語句。
原因是因為MySQL Client默認編碼是Latin1,不支持中文, set names gbk;是把所有的字段設置成支持中文的編碼。
摘自 heirenheiren的專欄