mysql默認編碼的問題

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.aiwalls.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的專欄

發佈留言