1、jpa插入mysql时中文乱码
(1)在mysql中新建查询 show variables like 'char%',看到character_set_server的值为latin1,
(2)修改mysql.ini中
[mysqld]下的
character-set-server=utf8
(mysql5.7的ini在C:\ProgramData\MySQL\MySQL Server 5.7目录下)
2、jpa查询时不区分大小写,在Mysql数据库中进行查询时,希望英文严格区分大小写。默认情况下是不区分大小写的。
Mysql默认的字符检索策略:utf8_general_ci,表示不区分大小写;utf8_general_cs表示区分大小写,utf8_bin表示二进制比较,同样也区分大小写 。(注意:在Mysql5.6.10版本中,不支持utf8_genral_cs!!!!)
所有方式一:创建表时,直接设置表的collate属性为utf8_general_cs或者utf8_bin;如果已经创建表,则直接修改字段的Collation属性(或叫排序规则)为utf8_general_cs或者utf8_bin。
创建表:
CREATE TABLE testt(
id INT PRIMARY KEY,
name VARCHAR(32) NOT NULL
) ENGINE = INNODB COLLATE =utf8_bin;
如果表已经创建,则修改表结构中Collation字段