jsp页面中文乱码

来源:百度知道 编辑:UC知道 时间:2024/05/03 10:31:54
a页面提交给b页面
a页面
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
request.setCharacterEncoding("GBK");
response.setCharacterEncoding("GBK");

b页面
<%@ page language="java" import="java.util.*"%>
<%@page contentType="text/html; charset=GBK"%>
request.setCharacterEncoding("GBK");
response.setCharacterEncoding("GBK");

提交信息:啊
url: username=%B0%A1
b页面显示: °?

如果可以的话 能否简单的 介绍下<%@page 中设置的编码 和 request response 中的setCharacterEncoding及request.setContentType
有何关系/区别
还有 我是否有地方重复设置了编码
从控制台显示的一些东西 不知道又没用处
(显示代码写在过滤器doFilter中)
成功显示中文的时候
运行提交页面时显示
response.getCharacterEncoding():ISO-8859-1
response.getContentType():null
request.getCharacterEncoding():GBK
request.getContentType():null
按下提交按钮后打开显示页面时显示
response.getCharacterEnc

在显示页面中加上
request.setCharacterEncoding("GBK");
response.setCharacterEncoding("GBK");
你试试吧 我的就是这样搞定的

不用这么麻烦,全部改成utf-8的国际标准就好了。

你给的代码不完全 我也不好判断你到底哪的问题 给你讲讲那个区别吧。。
setCharacterEncoding主要是设置接收字符的编码 比如你在一个文本框里输入了一些文字 那么这些文字传到另一个页面的时候就要设置这个属性来指明其编码 不然就会出现乱码
request.setContentType 主要是设置页面的字符编码 页面需要显示的内容等等 <%@ page language="java" import="java.util.*" pageEncoding="GBK"%> 跟这句话的功能是类似的

response.setCharacterEncoding("utf-8");
你如果用的是tomcat服务器的话还要改tomcat的配置,乱码是个很棘手的问题

每个页面的Page指令都统一了
<%@ page contentType="text/html; charset=GBK" %>
然后再叶面上加上这两句就好了。
<%
String CONTENT_TYPE = "text/html; charset=GBK";
response.setContentType(CONTENT_TYPE);//设置输出字符集
request.setCharacterEncoding("GBK");//设置输入字符集
%>
charset=GBK";
这句必须都一样包括Page指令
你说的两个区别就是一个是设置输入字符集,一个是设置输出字符集。
Tomcat不用修改配置