JSP+MySQL中文乱码问题不完全解决方案

总结了一下jsp程序出现乱码后需要重点检查的几个关键点。

1、检查JSP页面的pageEncoding是否设置为pageEncoding="GBK"

2、检查META元素的charset是否设置为GBK:



3、从Request中获得参数的时候是否转码:


request.setCharacterEncoding("GBK");

如果Request没有用以上语句设置字符编码的话,request.getCharacterEncoding()的返回值为null

4、返回数据库连接的时候同时也需要指定字符编码:


DriverManager.getConnection("jdbc:mysql://localhost:3306/messagebox?user=root&password=1234&characterEncoding=GBK");

5、创建数据库表的时候也要指定编码格式:


ENGINE=MyISAM DEFAULT CHARSET=gbk

以上步骤基本可以解决JSP+MySQL的中文字符编码问题。

include包含文件的乱码问题

header.html文件内容如下:

该文件被包含到index.jsp文件中,当该index.jsp文件被编译成的Java代码即为乱码:


out.write("

\r\n");
out.write("

¼«¼òÁôÑÔ°æ

\r\n");
out.write("

\r\n");

给header.html文件加上如下的JSP编译指令:


<%@ page pageEncoding="GBK"%>

乱码问题解决!

html文件中加入JSP编译指令没有任何问题,因为include编译指令指定的文件中的任何JSP语句都会被解析。

此条目发表在java/j2ee分类目录,贴了, 标签。将固定链接加入收藏夹。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据