Java往MySQL数据库中写数据出现乱码
程序员文章站
2022-05-17 18:49:47
...
Java往MySQL数据库中写数据出现乱码
- 出现这个问题,无非以下几个原因:
- 是否是java项目编码出现了问题,导致在java项目中写的SQL语句中的中文不能正确的识别
- 是否是mysql中的数据库的编码方式出现了问题?
- 而mysql数据库中的编码又分成好几部分:1)当使用Java连接mysql数据库的时候,我们使用的是网页连接,相当于服务器-客户端模式。2)当连接成功之后,我们使用的数据库和表也有一个字符类型。
- 分别检查即可知道问题出在哪里。
- 我们使用命令:
show variables like 'character%'
来查看字符集的编码设置。发现以下问题:
这里的character_set_server与character_set_client都不是utf8模式,更改即可。若使用命令:set character_set_database=utf8
只对当前窗口有效,所以需要使用另外的一种方式。
进入mysql的安装目录,然后找到my-default.ini文件(如果之前修改过该文件,则直接修改my.ini)重命名为my.ini。在其中添加如下命令:
[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
character-set-client=utf8
即可。
推荐阅读
-
在CMD中操作mysql数据库出现中文乱码解决方案
-
Mysql数据库中的 Order by 语句的特殊之处(select 中的项目不必出现在order by中)---不建议使用!
-
关于windows下安装mysql数据库出现中文乱码的问题
-
Java向数据库插入中文出现乱码解决方案
-
MySQL数据导入数据库后,出现乱码
-
eclipse Java web项目数据库由oracle更改为mysql中遇到的问题(使用JPA注解)附上修改过程
-
mysql数据库出现中文乱码问题的解决方法
-
mysql数据库中字符集乱码问题原因及解决
-
针对mysql数据库无法在表中插入中文字符的解决方案(彻底解决:java.sql.SQLException: Incorrect string value: ‘\xF0\x9F\x92\x94‘ )
-
Java开发中JDBC连接mysql数据库使用介绍