CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  Web 开发

jsp初学者,关于汉字显示成乱码问题。

楼主CMIC(大象)2003-01-04 00:08:26 在 Java / Web 开发 提问

html文件   validate.html  
  内容如下:  
  <html>  
  <head>  
  <meta   http-equiv="Content-Type"   content="text/html;   charset=gb5">  
  <title>输入验证</title>  
  </head>  
  <body>  
  <form   method="post"   action="validate.jsp">  
  <table>  
  <tr>  
  <td><font   color="red">*</font>姓名:</td>  
  <td><input   type="text"   name="name"></td>  
  </tr>  
  <tr>  
  <td><font   color="red">*</font>身份证号码:</td>  
  <td><input   type="text"   name="Card_id"></td>  
  </tr>  
  <tr>  
  <td></td>  
  <td   align="right"><input   type="submit"   value="提交"></td>  
  </tr>  
  </table>  
  </form>  
  </body>  
  </html>  
   
  jsp文件validate.jsp  
  <%@   page   contentType="text/html"   %>  
  <%  
  String   Str_Name=request.getParameter("name");  
  String   Str_Card_id=request.getParameter("Card_id");  
  %>  
  <%  
  if(Str_Name.trim().length()==0)  
  {  
  response.sendRedirect("validate_name_fail.html");  
  }  
  else  
  {  
  %>  
  您的姓名:<%=Str_Name%>  
  <%  
  }  
  %>  
   
  当在文本框“姓名”中输入字符串如:“大象”,显示结果如下“您的姓名:??”,请问怎么样才能正确显示  
  字符串“您的姓名:大象” 问题点数:100、回复次数:7Top

1 楼liangxuan1979(不贪)回复于 2003-01-04 07:55:42 得分 20

<%!  
  public   String   TranStrType(String   str)   throws   Exception  
  {  
  try{    
  if(str==null)    
  return   null;    
  else    
  {    
  str   =   new   String(str.getBytes("ISO8859-1"));    
  return   str;    
  }    
  }catch(Exception   e){    
  return   null;    
  }    
  }%>  
  <%  
  String   Str_Name=TranStrType(request.getParameter("name"));  
  String   Str_Card_id=request.getParameter("Card_id");  
  %>  
  Top

2 楼airlulu(airlulu)回复于 2003-01-04 09:19:30 得分 20

你用的是TOMCAT吧,  
  tomcat内部会把所有参数转为iso_8859_1,所以你需要把字符用iso_8859_1的格式来取回参数。  
  正如上面的:  
  str   =   new   String(str.getBytes("ISO8859-1"),"gb2312");    
   
  Top

3 楼baitianhai(hong)回复于 2003-01-04 10:27:33 得分 10

在jsp页面加入:      
    <%@     page     contentType=     "text/html;     charset=gb2312     "     %     >Top

4 楼baitianhai(hong)回复于 2003-01-04 10:31:19 得分 20

然后  
  String   strUserName   =   new   String(request.getParameter("user_name").getBytes("ISO-8859-1"),   "gb2312");    
   
  Top

5 楼sluizin(冰封箭)回复于 2003-01-04 14:11:33 得分 10

就是字符集的问题。。。上面的几位都说了,我就不说了。  
  但,还有一事,就是如果你的jsp文件里用到了数据库方面的东西,如果连接,插入动作时,就不会出现汉字乱码的。你可以试试。。。。Top

6 楼shijainbo(水圆第四届唯一指定版主)回复于 2003-01-04 22:58:53 得分 10

把你validate.html文件中的第三行:  
  <meta   http-equiv="Content-Type"   content="text/html;   charset=gb5">  
  改成:  
  <meta   http-equiv="Content-Type"   content="text/html;   charset=gb2312">  
   
  validate.jsp  
  文件第一行改成:  
  <%@   page   contentType="text/html;charset=gb2312"%>Top

7 楼lovexing(爱鱼盛)回复于 2003-01-05 01:05:30 得分 10

如果想简体和繁体也能正确显示的话  
  就把上面提到的  
  str   =   new   String(str.getBytes("ISO8859-1"),"gb2312");  
  中的gb2312改为GBKTop

相关问题

  • (JSP)Resin表单提交中的汉字显示乱码问题?
  • 显示汉字乱码问题?
  • java汉字显示乱码问题??
  • 我的汉字显示乱码,
  • FormView显示汉字乱码怎么办?
  • 如何解决jsp网页中汉字乱码问题??
  • jsp中关于汉字乱码的问题!
  • dialog上static_text里的汉字显示为乱码。
  • 奇怪???ERWIN为何显示汉字是乱码?
  • win98下CRichEditCtrl显示汉字时出现乱码

关键词

得分解答快速导航

  • 帖主:CMIC
  • liangxuan1979
  • airlulu
  • baitianhai
  • baitianhai
  • sluizin
  • shijainbo
  • lovexing

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo