问题描述:项目用了 JPA自动创建表,结果数据库默认字符编码为 latin1编码,然后插入中文就报错了,命令行命令不常用,这边记录下
解决方法:
show create table {table_name}; 查看 表的字符编码和列的字符编码
alter table salary character set utf8 ; 修改表字符编码
alter table {table_name} change {column_name} {column_name} {column_type} CHARACTER SET utf8 ;
修改MySQL默认编码格式方法如下:
Ubuntu 通过 apt-get install 安装的 MySQL
nano /etc/mysql/mysql.conf.d/mysqld.cnf 修改配置文件
[mysqld] 下面加一行 character_set_server = utf8 保存
service mysql restart 重启MySQL服务
进入MySQL 控制台
show variables like 'character%'; 查看各种字符编码验证
我自己的解决方法:
我是新建的表,之前没有数据,所以取巧了下:
show create table {table_name}; 得到建表语句
然后 把里面 字符类型的后面都加上或者改为 CHARACTER SET utf8
表后面也加上 DEFAULT CHARSET=utf8
之后 drop table {table_name}; 删除表
重新运行新的建表语句就OK了
比 一个一个改列方便多了