千家信息网

java写入mysql数据库出现乱码怎么处理

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,下文内容主要给大家带来java写入mysql数据库出现乱码怎么处理,所讲到的知识,与书籍略有不同,都是专业技术人员在与用户接触过程中,总结出来的,具有一定的经验分享价值,希望给广大读者带来帮助。确保数
千家信息网最后更新 2026年11月01日java写入mysql数据库出现乱码怎么处理
  1. 下文内容主要给大家带来java写入mysql数据库出现乱码怎么处理,所讲到的知识,与书籍略有不同,都是专业技术人员在与用户接触过程中,总结出来的,具有一定的经验分享价值,希望给广大读者带来帮助。

    确保数据库数据表创建的编码一致:

创建数据库的时候:

CREATE DATABASE `Db`
CHARACTER SET 'utf8 '
COLLATE 'utf8_general_ci';

注:CHARACTER SET 'utf8 ':这是设置字符编码;

COLLATE 'utf8_general_ci':设置字符排序编码

可以通过命令行设置:alter table tableA character set utf8

建表的时候:

CREATE TABLE `TableA` ( `ID` varchar(40) NOT NULL default ' ',
`UserID`
varchar(40) NOT NULL default ' ', ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

注:设置表的字符编码 DEFAULT CHARSET=utf8

可以通过命令行设置:alter table tableA charset utf

设置URL的时候:

jdbc:mysql://localhost:3306/database?useUnicode=true&characterEncoding=UTF-8

注:这里useUnicode=true&characterEncoding=UTF-8这里可以不用添加,默认useUnicode为true

characterEncoding会自动检测当前用的数据库变而进行改变

2.上面的这些设置了可能会用错误,这需要修改mysql中my.ini配置文件

设置MySQL的默认字符集为utf8,找到客户端配置[client]在下面添加。

default-character-set=utf8

找到云服务器配置[mysqld]在下面添加

default-character-set=utf8

设定MySQL数据库以utf8编码运行,连接MySQL数据库时使用utf8编码

停止和重新启动MySQL

net stop mysql

net start mysql

注:找到服务器配置[mysqld]在下面添加:default-character-set=utf8这里加入会导致数据库无法启动

单独加入default-character-set=utf8即可

重新连接数据库,查看编码,数据表内容

  1. mysql> show variables like 'character%';

  2. --------------------------+-----------------------------------------------+

  3. | Variable_name | Value |

  4. +--------------------------+-----------------------------------------------+

  5. | character_set_client | utf8 |

  6. | character_set_connection | utf8 |

  7. | character_set_database | latin1 |

  8. | character_set_filesystem | binary |

  9. | character_set_results | utf8 |

  10. | character_set_server | latin1 |

  11. | character_set_system | utf8 |

  12. | character_sets_dir | d:\wamp\bin\mysql\mysql5.5.20\share\charsets\

从上面可以看到,除了| character_set_database | latin1 和character_set_server | latin1 两项为latin1编码其他都为utf8编码,这里导致client和server的编码不一致了,插入数据依然中文会乱码

解决方法:

[mysqld]在下面添加:character_set_server=utf8,然后从新启动

[mysqld]

port=3306

character_set_server=utf8

#default-character-set=utf8


使用如下命令

mysql> show variables like 'character%';

+--------------------------+-----------------------------------------------+

| Variable_name | Value |

+--------------------------+-----------------------------------------------+

| character_set_client | utf8 |

| character_set_connection | utf8 |

| character_set_database | utf8 |

| character_set_filesystem | binary |

| character_set_results | utf8 |

| character_set_server | utf8 |

| character_set_system | utf8 |

| character_sets_dir | d:\wamp\bin\mysql\mysql5.5.20\share\charsets\ |

+--------------------------+-----------------------------------------------

这里可以看到所有的编码都一致了,就不会乱码了

|

| f512ebc1-e587-4baf-bd17-42e27236621f | ??? | female | 2017-02-24 | 119 | jzz@itheima.com | ??,??,?java | VIP | ?? |

之前出入的中文乱。下面为修改之后的结果

| ff1355cb-b25c-4431-8f96-7f56875b582f | 刘备 | female | 2017-02-24 | 119 | jzz@itheima.com | 吃饭,睡觉,学java | VIP | 美女 |

在命令提示中默认为gbk编码,要想不乱码显示,在使用查询语句时使用set names gbk

对于以上关于java写入mysql数据库出现乱码怎么处理,如果大家还有更多需要了解的可以持续关注我们的行业推新,如需获取专业解答,可在官网联系售前售后的,希望该文章可给大家带来一定的知识更新。

数据 编码 数据库 乱码 命令 字符 配置 一致 时候 处理 专业 内容 可以通过 数据表 服务器 知识 中文 服务 不同 下文 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 百单网互联网科技有限公司 天津市摩尔互联网科技 美国互联网科技巨头监管 与互联网科技公司 米客互联网科技 菲比寻常互联网科技 人人互联网科技是培训 无锡溥仪互联网科技有限公司 北京大学互联网科技怎么样 南山科技园互联网公司有哪些 移动互联网科技公司 玉溪互联网科技怎么选 为客找房互联网科技公司怎么样 众安科技工业互联网合作 北京市互联网新科技 工业互联网科技成果转化 广东鹅鹅鹅互联网科技有限公司 深圳互联网科技园地址 杭州融税互联网科技有限公司 网互联网络科技 广州大一互联网络科技有限公司 金诺互联网科技 互联网科技小贷 衡水科技产业互联网平台 佳云科技和互联网广告 呼和浩特新华互联网科技学院 从那以后互联网科技有限公司 35岁以上互联网科技行业 现代互联网科技公司 高科技和互联网的现代国家
0