A. jsp页面中遇到中文乱码怎么处理
查看你的web.xml里的过滤器、页面的编码格式是否相同。
B. 如何彻底解决jsp页面中文乱码及数据库乱码
1、知道自己安装Mysql数据库安装配置时选择了什么编码方式,如果之前安装,现在不太清楚,建议重新安装Mysql数据库,安装配置时选择utf8
(这里有个小技巧:不用卸载Mysql数据,找到安装Mysql数据库目录:D:\MySQL Server 5.1\bin下的MySQLInstanceConfig.exe,双击运行可以进行重新配置安装,并选择utf8编码方式),如图
2、安装成功后,查看编码方式,sql命令如下:
show variables like 'character%';
这里的所有编码方式都要统一为utf8,若某一个不是utf8的编码方式,就要设置为utf8,sql命令如下:set character_set_results=utf8
3、创建数据库并指定数据库的编码方式,sql命令如下:
create database yourDB character set utf8;
4、创建数据库表,也要指定其编码方式
5、如果你的Mysql版本是5.0以下,则还需要在hibernate.cfg.xml配置里面url指定数据库访问连接时的编码方式:
如:url=jdbc:mysql://localhost/db?user=user&password=123456&useUnicode=true&characterEncoding=UTF8
如果Mysql版本是5.0以上,这里的url加不加?user=user&password=123456&useUnicode=true&characterEncoding=UTF8 都没关系
6、写一个字符编码的过滤器,编码方式也要保证跟mysql的字符集一致为UTF-8
注意:在web.xml配置该过滤器时,必须把该过滤器的<filter-mapping>放在struts的映射前面,不然起不到过虑作用
7、所有jsp页面指定编码格式,保证跟mysql的字符集一致为UTF-8
注意:页面里面大小写统一,如<%@ page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %>,不能是pageEncoding="UTF-8",contentType="text/html; charset=utf-8",添加数据页面也要跟显示数据页面的编码格式要保持一致,不然的话就会出现添加到数据库中没乱码,从数据库中显示出现乱码的情况
C. 怎么解决JSP页面上的乱码
刚开始学习jsp的程序员都会遇到这样一个问题,就是网页上的中文无法显示.总结了以下几条方法。
1、在jsp页中加入一条语句:
<%@ page contentType="text/html;charset=gb2312" %>中文显示就正常了。
2、对于从网页中的文本框通过String parameter = request.getParameter(“parameter”);方式获得的字符串,均是8859_1的编码,
如果想把它显示在网页上就必须得用parameter = new String(parameter.getBytes(“8859_1”),”gb2312”)进行转换,windows和linux这两种系统都是一样的。
有一个简单方法,就是在 getParameter() 方法获取参数之前,使用request.setCharacterEncoding("GB2312");,将提交的信息转化为 GB2312 编码。
3、但是对于将数据写入数据库的问题,采取的方式就不同了:
windows下,必须要采用该字符串转换再插入数据库,而linux下就不需要,而是直接把8859_1编码的字符插入。
如果从数据库中读出的数据,对于windows因为在插入时已经做了转换,所以读出时已经是gb2312的,当把它显示在网页上时,不需要做编码转换,而 linux上的mysql中的数据是8859_1的所以要做编码的转换。
4、 如果你给某个字符串变量赋予一个中文字符串的值,那么在你取出他时,在网页上的显示是不需要做字符转换的,
但是如果你要在linux下做字符的比较,则还需要把字符做parameter = new String(parameter.getBytes(“gb2312”),”8859_1”)的转换。
5、长江电力网站解决中文问题的方法是:
1)在catalina.sh文件中的相关位置添加下面一行
-Dfile.encoding=GBK \
2)在每个jsp文件的最前面添加下面两行
<%@ page contentType="text/html; charset=GBK" %>
<%request.setCharacterEncoding("GBK");%>
D. jsp页面中文乱码,怎么解决
因为导致乱码的原因有很多,要看具体的原因来看,不然在没有搞清楚原因的情况下胡乱的解决,就有可能导致其他的问题,这样就得不偿失了。
E. 如何解决jsp页面中文乱码问题
新建两个JSP页面
在c.jsp中新建一个表单
在d.jsp中接收这个值
.运行c.jsp
输入带中文的参数,点击提交
发现接收过来的中文是乱码,英文正常
解释下:JSP默认参数在传输过程中使用的编码为ISO-8859-1
而两个页面使用的都是UTF-8 的编码
在d.jsp中新增如下代码
再次重复上边的操作,发现中文正常了
把c.jsp中的Post 修改为get方式提交表单
注意URL和中文乱码,显然上边步骤7的方法不行了
修改d.jsp代码如下
再次运行,一切正常
.步骤11是从代码上解决乱码的问题,但是每次get方式都要这么处理,显得很麻烦。
还有一种就是修改tomcat的server.xml配置文件
参照tomcat帮助文档中的/docs/config/index.html 文档的useBodyEncodingForURI 属性。
为Connector 节点添加useBodyEncodingForURI="true" 属性即可。
F. jsp在网页上显示乱码怎么解决
刚开始学习jsp的程序员都会遇到这样一个问题,就是网页上的中文无法显示.总结了以下几条方法。
1、在jsp页中加入一条语句:
中文显示就正常了。
2、对于从网页中的文本框通过String parameter = request.getParameter(“parameter”);方式获得的字符串,均是8859_1的编码,
如果想把它显示在网页上就必须得用parameter = new String(parameter.getBytes(“8859_1”),”gb2312”)进行转换,windows和linux这两种系统都是一样
G. jsp中如何去除乱码
亲,你头部写着”<meta http-equiv="Content-Type" charset=gb2312">“,然后一个又写”<%request.setCharacterEncoding("GBK");%>*/“,还有什么”<%@ page
contentType="text/html; charset=gb2312" %>“,还有”response.setCharacterEncoding("utf-8");“。
有这麼做开发的吗?你玩浏览器呢?
要想保持不乱码的最基本要求就是要:所有的页面保持一致的编码格式,包括后台的配置文件。
你要么全部保持utf-8,要么全部是gb2312。
-------------------------------------------------------------------------------------------
其实你只要在你的jsp页面顶部声明<%@ page contentType="text/html; charset=utf-8" %>
就够啦,其他什么request和response根本不需要处理。
你喜欢的话也可以用“GB2312”或“GBK”,不过这两个是简体中文编码格式,网站一旦运行在繁体中文的系统环境下,马上就会是乱码。所以一般统一用“UTF-8” Union联盟的国际标准编码格式。
-------------------------------------------------------------------------------
你要明白,一般java只有在特殊情况下才需要处理编码格式的。比如数据库存取、外接接口系统、RFC这些情况的时候才需要。一般是用在数据库存取的时候才稍微用一下,不过也不需要,数据库编码配置好就没问题。
-----------------------------------------------
你要想想,一个项目几十个JSP文件、几十个Servlet文件,上千上万次的数据接收、响应操作,你这么折腾,程序员不挂挂掉那是奇迹。一般喜欢这个无聊的问题的只有新手!
H. jsp中处理中文乱码的解决方案有哪些
1.新建两个JSP页面
2
2.在c.jsp中新建一个表单
3
3.在d.jsp中接收这个值
4.运行c.jsp
5.输入带中文的参数,点击提交
6.发现接收过来的中文是乱码,英文正常
解释下:JSP默认参数在传输过程中使用的编码为ISO-8859-1
而两个页面使用的都是UTF-8 的编码
7.在d.jsp中新增如下代码
8.再次重复上边的操作,发现中文正常了
9.把c.jsp中的Post 修改为get方式提交表单
10. 注意URL和中文乱码,显然上边步骤7的方法不行了
11.修改d.jsp代码如下
12.再次运行,一切正常
13.步骤11是从代码上解决乱码的问题,但是每次get方式都要这么处理,显得很麻烦。
还有一种就是修改tomcat的server.xml配置文件
参照tomcat帮助文档中的/docs/config/index.html 文档的useBodyEncodingForURI 属性。
为Connector 节点添加useBodyEncodingForURI="true" 属性即可。