首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

帖!关于JSP页面在一些浏览器下面显示是乱码的有关问题

2012-10-25 
求助帖!关于JSP页面在一些浏览器上面显示是乱码的问题!RT: 在测试已经做好的网站的时候,同事帮我返现了一

求助帖!关于JSP页面在一些浏览器上面显示是乱码的问题!
RT: 在测试已经做好的网站的时候,同事帮我返现了一个问题,在一些浏览器上(部分IE8,部分360,IE9) 整个网页有一小块的地方 中文显示是乱码,导致 数据查询不出来!困扰了几天了,求大神指导下。谢谢了!
附上主要代码

Java code
  servlet 端:    request.setCharacterEncoding("utf-8");         response.setCharacterEncoding("utf-8");    String date = OneDate.getTime();         String enddate=GetTime.getTime();         int uid = Integer.parseInt(request.getParameter("01"));         String uname = request.getParameter("02");      USER user=new USER();      把上面四个值传入 user对象;      执行一个查询语句      Result result1=fafd.searchAppUM(user);...     request.setAttribute("BDATE", onedate);  (因为a.jsp要用这两个参数,所以下面采用 forward跳转)     request.setAttribute("EDATE", enddate);     request.setAttribute("UNAME", uname);     HttpSession session1 = request.getSession();     session1.setAttribute("USERS", result1);     request.getRequestDispatcher("a.jsp").forward(request, response);


a.jsp、
Java code
<%@ page language="java" contentType="text/html; charset=utf-8"    pageEncoding="utf-8"%><%@page import="javax.servlet.jsp.jstl.sql.Result"%> 。。。。<table><tr><td><%=request.getAttribute("UNAME")%></td></tr></table>


在 a.jsp中 <td>显示的是乱码 但只是在一部分浏览器中。

[解决办法]
是有的 server.xml 文件中URIEncoding="UTF-8" 也写了! 把这个去掉 这个有bug 把页面全部设置成utf-8 后台编码方式也全部设置成UTF-8这样不会有问题的 ,如果还有问题 检查以下浏览器的编码方式。再不行 就直接new String ("str".getBytes("iso-8859-1"),"utf-8");


response.setCharEncoding("utf-8");
实在不可以这样写
在上面 写
<%

String UNAME = (String )request.getAttribute("UNAME");

UNAME = new String (UNAME .getBytes("iso-8859-1"),"utf-8");


%>


<td><%=UNAME %></td>

[解决办法]
用get方式传中文最好用java.net.URLEncoder转一下
[解决办法]
给你个例子吧,你试试看把,我是这么解决乱码的。
function onSubmit(){
//简单验证数据
var file = document.getElementById("file").value;
//拼接请求的字符串
var url = "Logic.jsp";
url+="?file=" + file;
url=encodeURI(url); 
url=encodeURI(url); 
var form = document.mainform.action=url;
return true;
}

servlet 里面 处理。
System.out.println(URLDecoder.decode(request.getParameter("file"),"UTF-8"));

热点排行