Incorrect string value: '\xE5\xB7\xA5\xE8\xB5\x84...' for column xxx

问题描述:项目用了  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了

一个一个改列方便多了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值