jsp

位置:IT落伍者 >> jsp >> 浏览文章

JSP页面传值中文乱码的简单解决方法


发布日期:2024年03月17日
 
JSP页面传值中文乱码的简单解决方法

源代码ajsp往bjsp传值

ajsp页面内容

<%@ page language="java" import="javautil*" pageEncoding="GB"%>
<form action="bjsp">
name:<input type=text name=name>
<input type=submit>
</form>
bjsp页面内容

<%@ page language="java" import="javautil*" pageEncoding="GB"%>
<%
String name=requestgetParameter("name");
%>
<body>
<%=name%>
</body>
现象中文乱码比如“??????”

解决方法如下

方法一

在bjsp中把pageEncoding="GB"改为pageEncoding="ISO"

虽然这样bjsp页面显示的内容还是乱码但是不是那种“??????”的乱码而是一些特殊字符

然后在浏览器中查看菜单中修改成GB的编码这时乱码就显示中文了

但是这种方法是不可行的

方法二

在bjsp中把String name=requestgetParameter("name");修改为

String name=new String(requestgetParameter("name")getBytes("ISO")"GB");
这时再在页面上显示则就是中文了

方法三

有人说修改get/post的传值方式但是这是有前提的如果只是把get方式修改成post方式页面结果还是乱码!

前提你必须配置了过滤器若果你只是配置了过滤器则传值方式必须是:post方式才不是乱码如果是get方式照样是乱码!

过滤器的配置我想大家都能有我就不说了

方法四:

有人说配置tomcat的配置文件serverxml里这句

<Connector URIEncoding="GB"
port="" maxHttpHeaderSize=""
maxThreads="" minSpareThreads="" maxSpareThreads=""
enableLookups="false" redirectPort="" acceptCount=""
connectionTimeout="" disableUploadTimeout="true" />
加上这句URIEncoding="GB"

虽然可以但是有前提的若果你过滤器没有配置则只是配置了serverxml文件这样只有在表单是get传值时候才可以!当是post方式时照样是乱码!

*这时我们就可以看出在tomcat中的post与get传值方式是不一样的*

*有人要问有没有一种方法让传值使用get方式或post方式都好用呢下面就是我推荐的方法五*

方法五:

其实很简单就是同时实现方法三又实现方法四!

就是先配置过滤器又配置serverxml文件都设置成GB的编码

这样无论是post还是get方式的表单传值中文都不会是乱码!

上一篇:JSP动态网站环境搭建应用中的详细步骤

下一篇:JSP培训之异常处理