1. 修改my.ini文件,把所有的default-character-set设置为utf8(重启服务),在mysql命令行里使用命令show variables like 'c%',可以查看修改结果
2.创建表时指定utf8
3.连接数据库时指定utf8
4.页面编码指定utf8
设置这些后,页面显示已经正常,但在命令行里查看仍然是乱码,那是因为cmd采用的编码是GBK的,使用set character_set_results = gbk,即可,不过这只是一次性的,怎么永久改还不知道。
通过reqeust,response设置编码,只对消息体起作用,采用get方式提交中文参数(参数是在消息头被传递的)也会乱码。
方法一:修改tomcat server.xml,把8080端口的连接器编码改为URIEncoding="UTF-8"
方法二:后台手动转码
String newStr = new String(request.getParameter(usernameParameter).getBytes("ISO8859-1"), "UTF-8");