mysql 中文 jsp显示问号 出库乱码_java程序向mysql添加中文出现问号乱码

在Java程序中向MySQL数据库插入中文数据时出现问号乱码问题,原因是MySQL默认编码不支持中文。解决方法包括:将MyEclipse的JSP文件编码设置为UTF-8,修改MySQL数据库的字符集为utf8,更新my.ini配置文件并重启MySQL服务,确保编码一致避免乱码。
摘要由CSDN通过智能技术生成

问题描述:

当在java程序中输入中文时,添加数据到mysql中,所有的文字都变成了问号(?)。如下图:

java程序:

0818b9ca8b590ca3270a3433284dd417.png

mysql数据库:

0818b9ca8b590ca3270a3433284dd417.png

解决思路:

查阅资料:

1、MySQL的默认编码是Latin1,不支持中文,支持中文的数据库编码格式为gbk和utf8(注:在MySQL中要使用utf8,在java程序中使用utf-8,两者指的都是utf-8)。

2、MyEclipse的编码方式和MySQL的编码方式不一致也会导致乱码问题。

解决办法:

设置MyEclipse的编码方式:

设置MyEclipse的编码方式有多种,包括:全局编码设置,局部编码设置,文件默认编码设置。

本文主要介绍全局编码设置:工具栏中的Window-->Preferences-->MyEclipse-->Files and Editors-->JSP-->右侧的Encoding将其修改为UTF-8格式即可,如图:

0818b9ca8b590ca3270a3433284dd417.png

设置MySQL的编码方式:

1、查看数据库编码方式命令:show variables like 'character%';

2、修改数据库编码方式:alter database test(数据库名称) character set utf8;

3、创建数据库时,指定数据库的编码方式:createdatabase test(数据库名称) character set utf8;

4、执行查看编码方式的命令后,出现如图所示信息。

0818b9ca8b590ca3270a3433284dd417.png

从以上信息可知数据库的编码方式为latin1,其中,character_set_client为客户端编码方式;character_set_connection为建立连接使用的编码方式;character_set_database为数据库的编码方式;character_set_results是结果集的编码方式;character_set_server为数据库服务器的编码方式。只要保证以上采用的编码方式一样,就不会出现乱码问题。

5、修改配置文件my.ini:

修改[client]下面的语句:default-character-set=utf8

0818b9ca8b590ca3270a3433284dd417.png

修改[mysqld]下面的语句:character-set-server=utf8

0818b9ca8b590ca3270a3433284dd417.png

6、重启MySQL服务器

开始-->运行-->输入:services.msc,打开“服务”,找到MySQL服务,右键重启即可。

0818b9ca8b590ca3270a3433284dd417.png

设置MySQL编码方式就三步:1、用命令修改数据库编码,2、修改配置文件,3、重启服务。

完成修改后,查看数据库编码方式,如图:

0818b9ca8b590ca3270a3433284dd417.png

大功告成!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值