1.设置web容器的编码格式。为你的servlet的doGet或doPost方法开始处加入如下代码:
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
2.为每个jsp页面指定其编码格式。
3.在连接数据库用的URL后加入:useUnicode=true;characterEncoding=utf-8,如:
url="jdbc:mysql:///db1?useUnicode=true&characterEncoding=utf-8",
4.为指定数据库默认编码格式。在C:\WINDOWS目录下找到my.ini文件,并在
[mysqld]中加入default-character-set=gbk,重新启动mysql服务。
至此,乱码问题全部解决。起初总搞上去不清,为什么要将mysql的默认编码格式设置为gbk,
后来由相关的资料得知utf-8默认输入编码方式为gbk,默认输出编码方式为utf-16be。