Login
网站首页 > 文章中心 > 其它

MySQL生僻字插入失败的处理方法_Incorrect string value)

作者:小编 更新时间:2023-08-08 13:55:45 浏览量:311人看过

MySQL生僻字插入失败的错误信息为"Incorrect string value",这是由于MySQL的字符集不支持某些生僻字导致的.解决方法有以下几种.

1. 修改MySQL字符集

MySQL的字符集决定了它所支持的字符范围,如果MySQL的字符集不支持某些生僻字,则会出现"Incorrect string value"错误.所以呢,我们可以尝试修改MySQL的字符集.

1.1. 查看当前MySQL字符集

可以通过以下SQL语句查看当前MySQL所使用的字符集:

show variables like 'character_set%';

如果发现当前MySQL的字符集不支持想要插入的生僻字,则需要修改MySQL的字符集.

1.2. 修改MySQL字符集

可以通过修改MySQL配置文件来修改MySQL的字符集.打开MySQL的配置文件,找到以下两行:

character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci

2. 修改表字符集

如果某个表的字符集不支持想要插入的生僻字,则可以修改该表的字符集.

2.1. 查看表字符集

可以通过以下SQL语句查看某个表所使用的字符集:

show create table 表名;

2.2. 修改表字符集

可以通过以下SQL语句修改某个表的字符集:

alter table 表名 convert to character set utf8mb4 collate utf8mb4_unicode_ci;

示例1:使用utf8mb4字符集插入生僻字

alter table users modify column name varchar(30) character set utf8mb4 collate utf8mb4_unicode_ci;
insert into users(name) values('龘龘');

示例2:在Java程序中插入生僻字

String url = "jdbc:mysql://localhost:3306/test?useUnicode=truecharacterEncoding=utf8mb4";
String user = "root";
String password = "root";
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection(url, user, password);
Statement stmt = conn.createStatement();
String name = "?";
String sql = "insert into users(name) values('" + name + "')";
stmt.executeUpdate(sql);

以上就是土嘎嘎小编为大家整理的MySQL生僻字插入失败的处理方法_Incorrect string value)相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章