您现在的位置:计算机技术学习网 > 技术中心 > WEB编程 > JSP >

JSP中文乱码问题终极解决方案(5)

来源:未知 责任编辑:责任编辑 发表时间:2014-02-18 03:25 点击:

    </body> 
</html> 
<%@ page language="java" import="java.util.*"
 contentType="text/html;charset=gb2312"%>
<html>
 <head>
  <title>Form中文乱码</title>
 </head>
 <body>
  <font size="2"> 下面是表单提交以后用request取到的表单数据:<br>
   <%
    String userName = request.getParameter("userName");
     String password = request.getParameter("password");
     out.println("表单输入userName的值:" + new String(userName.getBytes("ISO-8859-1"), "gb2312")+ "<br>");
      out.println("表单输入password的值:" + new String(password.getBytes("ISO-8859-1"), "gb2312")+ "<br>");
     %>
   </font>
 </body>
</html>


经过这样的转换编码以后,所有的中文输入都可以用request对象正常取出。在上面这个程序中,第四行和第五行是转换编码格式的关键,先从ISO-8859-1格式的字符串中取出字节内容,然后在用GB2312的编码格式重新构造一个新的字符串。这样就可以支持中文变淡输入的正常取值和显示。改进以后程序运行结果如下

  \


 

经过上面的更改编码格式的处理,表单的中文输入乱码问题已经得到解决。但是如果上面的表单中的输入项不止是两个,那么每个输入项都需要进行编码转换,那样就很麻烦了。这是我们就用到了大名鼎鼎的过滤器filter了。

四、Eclipse中JSP文件中文乱码

在Eclipse或者MyEclipse中由于默认的JSP编码格式为ISO-8859-1,所以当打开由其他编辑器编辑的JSP文件时会出现乱码,如图所示

  \


对于这个问题我们只需要更改一下Eclipse或者是MyEclipse中对JSP的默认编码就可以了,修改的地方(我的MyEclipse版本为11)如图所示

PS
在Eclipse或者MyEclipse当中JSP文件默认的编码为ISO-8859-1,所以在JSP代码中间如果出现中文就不能保存,例如如下代码
  
 

[java]
<%@ page language="java" import="java.util.*" %> 
<html> 
    <head> 
    <title>中文显示示例</title> 
 
    </head>  
    <body> 

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • JSP与Servlet
  • 自己动手写MiniBBS系列(基本篇)之用户登录
  • JSP取当前日期
  • JDBC 入门(一)
  • 打开一个jsp页面默认查询所有数据,调用action
  • 使用JSP标签库验证用户的输入(2)完
  • 自定义JSP标签(tag)浅议
  • WIN98/2000下的jsp服务器
  • JSP内建对象(二)
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1