当前位置:编程学习 > JAVA >>

jsp页面字符编码的困惑

各位这是我的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>





--------------------编程问答-------------------- 那个页面是怎么把汉字传过来的,是post还是get,有汉字的传递尽量用post --------------------编程问答-------------------- 那就是有环境依赖的环节存在

看这个desc在未进行网络传输前是不是以默认字符集的方式编码的或不同字符集编码的 --------------------编程问答-------------------- 这个值是先通过程序取得然后返回到页面A中,接着页面A通过window.showModalDialog将这个值直接传送到页面B,页面B通过前面这种方式显示出来 --------------------编程问答-------------------- 各阶段该值打印一下很快就知道了 哪个环节是环境依赖

--------------------编程问答-------------------- 恩。。我的经验还是。。debug看一下。。乱码出现在哪个步骤。。。找到错误那步才能针对问题解决问题。。。 --------------------编程问答--------------------
引用 5 楼 kouyisc 的回复:
恩。。我的经验还是。。debug看一下。。乱码出现在哪个步骤。。。找到错误那步才能针对问题解决问题。。。

同意! --------------------编程问答-------------------- 各阶段打印一下,看是哪里的时候乱码。 --------------------编程问答-------------------- 看下生产环境的容器,类似tomcat的编码是否也是utf-8,如果用到数据库了,看下是否也是这样的字符集 --------------------编程问答-------------------- 这通常是个工程问题,不是技术问题。

建议你先把以前生成的文件清除,再说。举个例子,比如以前用的如果是tomcat,那么将tomcat的work文件夹清除。有时后是以前的老文件在作怪。 --------------------编程问答-------------------- ajax提交的是url编码格式 如果你界面是utf-8 那你后天程序也设为utf-8.
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,