各位这是我的jsp页面,主要的功能是将另一个页面传过来的内容显示出来:现在的问题是我在本地测试环境测试的时候都显示正常,但是换到生产环境显示确实乱码,请指教
<%@page contentType="text/html; charset=utf-8"%>
<%@include file="/commons/taglibs.jsp"%>
<% request.setCharacterEncoding("utf-8");%>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body >
<div class="h1">概要描述</div>
<%
 String reason=new String(request.getParameter("desc").getBytes("iso-8859-1"),"GBK");
%>
<div style="overflow: scroll;">
     <%=reason%>
</div>
</body>
</html>

解决方案 »

  1.   

    那个页面是怎么把汉字传过来的,是post还是get,有汉字的传递尽量用post
      

  2.   

    那就是有环境依赖的环节存在看这个desc在未进行网络传输前是不是以默认字符集的方式编码的或不同字符集编码的
      

  3.   

    这个值是先通过程序取得然后返回到页面A中,接着页面A通过window.showModalDialog将这个值直接传送到页面B,页面B通过前面这种方式显示出来
      

  4.   

    恩。。我的经验还是。。debug看一下。。乱码出现在哪个步骤找到错误那步才能针对问题解决问题
      

  5.   

    看下生产环境的容器,类似tomcat的编码是否也是utf-8,如果用到数据库了,看下是否也是这样的字符集
      

  6.   

    这通常是个工程问题,不是技术问题。建议你先把以前生成的文件清除,再说。举个例子,比如以前用的如果是tomcat,那么将tomcat的work文件夹清除。有时后是以前的老文件在作怪。
      

  7.   

    ajax提交的是url编码格式 如果你界面是utf-8 那你后天程序也设为utf-8.