JSP MySQL乱码问题!
看了网上各种啊,还是木有解决啊,神啊,到底怎么回事!
本地测试,我用的是EClipse+MySQL,我统一用utf-8:
JSP网页上:<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
连接数据库类ConnectDB类:private String uri="jdbc:mysql://localhost:3306/javaweb?useUnicode=true&characterEncoding=UTF-8";
本地文件my.ini:[mysql]下 default_character_set=utf8 [mysqlId]下character_set_server=utf8
MySQL控制台上创建数据库javaweb:也是指定了utf8: ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8
创建表news的时候同样指定了utf8
可是啊,在MySQL用语句:show variables like "%char%"; 显示:
character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server latin1
character_set_system utf8
然后我用语句:set character_set_server=utf8;改了
当时显示是有用的,但重启MySQL就又变回来了,应该是这个问题?可是我在my.ini不是设置了吗?怎么还是latin1?然后查了相关,看到有一个说双击BIN目录下的MySQLInstanceConfig.exe文件,但可能由于我用的MySQL是Wamp里的?并没有这个文件啊!
直接在MySQL语句插入中文,中文不是乱码,但直接中文都没了,显示是空格都是。。。
MySQL查询显示:
| id | title | username | content
| submitTime | viewCount | catalogs | attachment |
+----+--------------------+----------+------------------------------------------
-----------------+---------------------+-----------+----------+------------+
| 6 | 盲潞聥氓庐聻盲赂聤 | fcc | <p>氓聹掳氓炉鹿氓聹掳氓炉录氓录
鹿</p>
null |
| 7 | 氓陇搂莽楼聻 | fcc | <p>氓陇搂莽楼聻茂录聦忙卤聜氓赂庐氓
聤漏氓聲聤茂录聛</p>
| 2014-11-11 00:00:00 | 0 | news | null
|
| 8 | | fcc | NULL
| NULL | NULL | NULL | NULL |
| 9 | | fcc | NULL
| NULL | NULL | NULL | NULL |
6、7是通过JSP表单插入数据的,8、9是直接在MySQL控制台上插入数据的(只是插入了title和username字段)
网上有说用过滤器,不知道怎么弄,在web-xml上写了好像也没用,也有说,是MySQL控制台本身的问题,就是不知道怎么搞,烦了一下午了,求大神告知啊!