课程相关问题
来源:2-7 完整性约束条件介绍
qq_粽翎_0
2019-12-02 16:44:33
CREATE DATABASE imooc;
USE imooc;
CREATE TABLE IF NOT EXISTS user(
id INT,
username VARCHAR(20),
password CHAR(32),
email VARCHAR(50),
age TINYINT,
card CHAR(18),
tel CHAR(11),
salary FLOAT(8,2),
married TINYINT(1),
addr VARCHAR(100),
sex ENUM('男','女','保密')
)ENGINE=INNODB CHARSET=UTF8;
INSERT user(id,username,password,email,age,card,tel,salary,married,addr,sex)
VALUES(1,'root','123','76126521@qq.com',20,'1365489512','15648975621',154685.32,0,'北京','男');我也是跟着老师敲的,应该是没问题的,但是运行后报了这个错误
ERROR 1366 (HY000): Incorrect string value: '\xB1\xB1\xBE\xA9' for column 'addr' at row 1
在地址处出错了,这个好像是编码的问题导致的吧,可是前面已经把编码设置为utf-8了,咋回事,求解!
1回答
好帮手慕珊
2019-12-02
同学,你好!有可能字段不是utf8编码,创建表格时在addr字段后面加上CHARACTER SET utf8再试试。

另外,还用下面语句查看一下表格字段的字符集。
SHOW FULL COLUMNS FROM imooc_user;

如果字符集都没问题还是不能插入中文,建议装一个mysql的客户端,比如mysql官方的workbench,或者Navicat试试。之前也有同学字符集都改了还是报错,换成其他工具就可以了。有的时候是控制台本身的问题。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
相似问题