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

页面乱码解决4种方案

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 05:20 点击:

下边提供4种不同情况的乱码解决方案,基本上包括了web开发中出现乱码的不同情况。
主要针对java+MySQL(和PHP搭配之最佳组合)开发环境提出的乱码解决方案,只要作相应修改,可以用于不同语言环境的乱码问题解决。

一、jsp(SUN企业级应用的首选)页面显示乱码 
下面的显示页面(display.jsp(SUN企业级应用的首选))就出现乱码: 

 程序代码
<html> 
<head> 
<title>jsp(SUN企业级应用的首选)的中文处理</title> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
</head> 

<body> 
<% 
out.print("jsp(SUN企业级应用的首选)的中文处理"); 
%> 
</body> 
</html>
 
对不同的WEB服务器和不同的JDK版本,处理结果就不一样。原因:服务器使用的编码方式不同和浏览器对不同的字符显示结果不同而导致的。解决办法:在jsp(SUN企业级应用的首选)页面中指定编码方式(gb2312),即在页面的第一行加上:<%@ page contentType="text/html; charset=gb2312"%>,就可以消除乱码了。完整页面如下: 
<%@ page contentType="text/html; charset=gb2312"%> 
<html> 
<head> 
<title>jsp(SUN企业级应用的首选)的中文处理</title> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
</head> 

<body> 
<% 
out.print("jsp(SUN企业级应用的首选)的中文处理"); 
%> 
</body> 
</html> 

二、表单提交中文时出现乱码
下面是一个提交页面(submit.jsp(SUN企业级应用的首选)),代码如下: 

 程序代码
<html> 
<head> 
<title>jsp(SUN企业级应用的首选)的中文处理</title> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
</head> 

<body> 
<form name="form1" method="post" action="process.jsp(SUN企业级应用的首选)"> 
<div align="center"> 
<input type="text" name="name"> 
<input type="submit" name="Submit" value="Submit"> 
</div> 
</form> 
</body> 
</html>
 
下面是处理页面(process.jsp(SUN企业级应用的首选))代码: 

 程序代码
<%@ page contentType="text/html; charset=gb2312"%> 
<html> 
<head> 
<title>jsp(SUN企业级应用的首选)的中文处理</title> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
</head> 

<body> 
<%=request.getParameter("name")%> 
</body> 
</html>

如果submit.jsp(SUN企业级应用的首选)提交英文字符能正确显示,如果提交中文时就会出现乱码。原因:浏览器默认使用UTF-8编码方式来发送请求,而UTF-8和GB2312编码方式表示字符时不一样,这样就出现了不能识别字符。解决办法:通过request.seCharacterEncoding("gb2312")对请求进行统一编码,就实现了中文的正常显示。修改后的process.jsp(SUN企业级应用的首选)代码如下: 

 程序代码
<%@ page contentType="text/html; charset=gb2312"%> 
<% 
request.seCharacterEncoding("gb2312"); 
%> 
<html> 
<head> 
<title>jsp(SUN企业级应用的首选)的中文处理</title> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
</head> 

<body> 
<%=request.getParameter("name")%>
</body> 
</html> 


三、数据库连接出现乱码 
只要涉及中文的

    相关新闻>>

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

      推荐热点

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

      豫ICP备11007008号-1