数据库直接插入中文数据变成???
1. 直接在数据库插入数据
- 查看数据库编码
-
[ Mysql语句]:
SHOW VARIABLES LIKE "CHARACTER%";
-
结果:是否存在"utf8"
若不存在"utf8":使用语句SET character_set_client=utf8;
,改变数据库编码。
- 查看列的编码 -
同一个数据库中,有表可以存储中文且不出乱码,则出现乱码的表中varchar字符编码不是utf8!!
-
[Mysql语句]修改列的编码:
alter table <表名> change <字段名> <字段名> <类型> character set utf8;
2. 在后端存储时,中文乱码
1.查看数据库连接语句,看连接语句中是否定义了编码为utf8
characterEncoding=utf-8
以Java为例
jdbc:mysql://127.0.0.1/test?useUnicode=true&characterEncoding=utf-8&tinyInt1isBit=false&allowMultiQueries=true&serverTimezone=GMT%2B8
2.查看数据库及表的编码,详细参考前面
注:!!!一定要注意Mysql中的特殊字符