JPA自动生成mysql表中文问题

如果用JPA自动生成表的时候,创建的数据库没有指定编码格式(默认编码格式latin1),那么mysql对中文并不支持。比如插入中文的数据,可能会报错:

Error Code: 1366. Incorrect string value: ..........

一般在创建数据库的时候即可修改数据库编码为utf8,然后用JPA自动生成的数据库表会自动设置为编码utf8格式来支持中文,如果没有给数据库指定编码格式就用JPA 自动生成了表,就需要修改数据库、表及字段的编码格式为utf8来支持中文。

1.查看数据库编码

use <数据库名>;
show variables like 'character_set_database'; 

一般数据库的编码要支持中文的话用utf8即可,下面修改数据库编码:

alter database <数据库名> CHARACTER SET utf8;

2.查看数据表编码

show create table <表名>;

修改数据表编码

alter table <表名> character set utf8;

修改字段编码

alter table <表名> change <字段名> <字段名> <类型> character set utf8;

最后打个小广告,闲着没事东拼西凑了个小程序(好多妹子奥),闲着无聊的小伙伴帮我扫扫凑凑人数哈:

JPA自动生成mysql表中文问题_第1张图片
炱无聊

你可能感兴趣的:(JPA自动生成mysql表中文问题)