[关于我的脑瘫操作]JSP获取中文到数据库里面存入显示问好“??“

  • Post author:
  • Post category:其他

问题描述

写好一个完整的程序后 添加用户输入英文再查询 就可以正常查询 但输入中文查询后就是是???
如图:
添加大帅比1后添加图片
查询后显示???1 而且籍贯也是显示的 ??
查询图片

解决思路:

查阅资料:

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格式即可

办法二[推荐]: 设置MySQL的编码方式:

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

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

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

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

注意: 实际上你如果出现问题的话 那个character_set_server显示的并不是utf8 而是Latin1
编码查看
其中,character_set_client为客户端编码方式;
character_set_connection为建立连接使用的编码方式;
character_set_database为数据库的编码方式;
character_set_results是结果集的编码方式;
character_set_server为数据库服务器的编码方式。
只要保证以上采用的编码方式一样,就不会出现乱码问题。
5、修改配置文件my.ini:

修改[client]下面的语句:default-character-set=utf8
没有就自行添加
修改[mysqld]下面的语句:character-set-server=utf8

my.ini文件

6、重启MySQL服务器

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

完成后重启项目即可完成后的效果


版权声明:本文为qq_62479530原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。