1、Jsp页面中文乱码的解决方法如下:
页面编码改成<@ page language="java" contentType="text/html; charset=gbk" pageEncoding="gbk">
<%
//如果url地址包含中文参数,则是通过此句解决乱码问题,否则使用request *** 作的数据将显示为乱码
requestsetCharacterEncoding("gbk");
String action = requestgetParameter("action");
%>
注意requestsetCharacterEncoding("gbk");一定要放在使用request存取第一个参数之前
另外还需注意的一点,在一个项目的所有jsp页面中,使用统一的编码方式。
(servlet中:responsesetContentType("text/html;charset=gbk"); 注意:一定要写在PrintWriter out = respgetWriter();之前)
2、post方式提交内容乱码解决方法(servlet中):
requestsetCharacterEncoding("gbk"); 注意:一定要写在存取第一个参数之前
get方式提交内容乱码解决方法:
修改tomcat配置文件serverxml ,找到 URIEncoding="" 修改编码为gbk
3、对于在Jsp中往数据库插入数据后在数据库中中文显示问号。
首先在MySql命令行中输入 status 查看MySql服务端和客户端默认字符集编码是否一致为 utf8 或者 gbk、gb2312 。 如果编码有错,可以修改安装目录下的 myini 配置文件,如果没有,可以复制一份my-mediumini,重命名为myini,然后在myini中找到[mysqlld]和[client] 在这2行数据下插入 default-character-set=utf8 或者 gbk。删除有中文数据为问号的数据库,重启数据库,再建立一个库往新建表中插入中文。就可以了。
在数据库字符集编码没错的情况下如果还是中文显示问号,使用 String url = "jdbc:mysql://localhost/databaseuser=&password=&useUnicode=true&characterEncoding=gbk"; 进行数据库连接就可以了。
主要要做到的是:数据库字符集编码与连接字符集编码是一致的。原因:
mysql的默认编码方式和代码的编码方式不一致,而引起显示问号。
解决办法:
1、打开Eclipse;
2、打开J2EE项目;
3、可以看到代码的中文编码方式不是utf8(例如是gbk),mysql的默认编码为utf8。由于两者不一致,所以在将字符插入数据库时就出现了问题;
4、所以此时只需要将代码的编码方式改为utf8即可解决。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)