您的位置:首页 > 数据库 > MySQL

通过jsp页面向mysql数据库插入中文数据时乱码问题

2017-12-27 09:03 627 查看
    刚开始插入数据时,mysql数据库表内显示???,读取时同样也是???

    对此查找了相关资料,首先注意保持服务器、数据库、项目、以及前端编码一致。

①项目以及前端编码,设置。

Eclipse Java EE IDE for Web Developers ->右键项目 -> Properties -> Resource -> Text file encoding ->other utf-8 ->apply and close
②tomcat服务器编码设置(conf\server.xml)

<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8"/>
③mysql的my.ini配置文件(注:使用的wampserver自带的mysql数据库,故直接右键wampserver标志查找mysql即可看到my.ini文件)
[client]
port = 3306
default-character-set=utf8

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash
; Remove the next comment character if you are not familiar with SQL
;safe-updates
default-character-set=utf8

[isamchk]
key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer_size = 2M
write_buffer_size = 2M

[myisamchk]
key_buffer_size = 20M
sort_buffer_size_size = 20M
read_buffer_size = 2M
write_buffer_size = 2M

[mysqlhotcopy]
interactive-timeout

[mysqld]
port = 3306

character-set-server = utf8
    修改文件后需要重启mysql服务,若使用net stop mysql/net start mysql关闭开启mysql服务不成功的,可以直接在任务管理器中查找服务wampmysqld64进行重启,如下图。



    至此解决???问题。但是数据库表中和页面显示仍为乱码。

    

    将所有代码文档设置为utf8格式。同时在链接数据库文件(.java)中,作如下修改:

String url = "jdbc:mysql://localhost:3306/mybirger?characterEncoding=UTF-8";

    在转换字符编码文件中
// 将传递进来的字符串转换成byte数组,并确定其编码
byte[] b = value.getBytes("ISO-8859-1");
// 用byte数组构造一个新的字符串,并指定其编码
cn = new String(b, "UTF-8");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐