1.我用的是struts2的form,然后把数据提交到action,在另外一个页面显示出来
本来刚开始的页面全都是统一用的UTF-8,但是后来,我想试试乱码。。就把jsp页面的Content-type的charset改成了ISO8859-1,但是当我提交的时候还是不乱码? 为什么啊? 我页面中也没有设置什么request.setCharacterEncoding();这些
但是为什么就是不乱码呢?2.还有一个问题。useBodyEncodingforURI这个设置乱码,是不是只能设置表单提交的内容 ,包括get方式,如果直接在URL中写中文,是不是这样设置了不管用呢?(我试了下,好像是,请大家确定下)请大家帮我讲讲吧 网上的资料我也看了不少。。
怎么要变成乱码都这么难啊。
我先谢谢各位了。。

解决方案 »

  1.   

    告诉你把。jsp页面和数据库统一使用UTF8编码,这样不用做任何装换
      

  2.   

    你把jsp文件的编码设置为GBK,保证你乱七八糟
      

  3.   

    在jsp页面上写个中文,contenttype都用utf-8,再用记事本把jsp文件本身的编码变成ANSI,然后重新打开页面
      

  4.   

    你在struts2的配置文件把编码的常量改成其他的就乱码了
      

  5.   

    哎 你们怎么就这么说呢?
    我觉得你们这么说太什么了
    难道就我傻啊??
    怎么算了解一个问题啊??
    要知道一个问题什么行是不够的。。还要知道怎么做不行。。
    那我的也是一个问题啊  我觉得那样做能出现乱码 但是情况是没有出现乱码 
    这就说明我对这个问题还没有掌握好
    我记得那天在thinking in java的时候
    上面有句话。。就是说你要知道问题的边界,才能成为高手
    虽然我学习的时间不是很久 但是我觉得自己也在不断的进步
    我希望 知道的人能为我解答一下
    如果要说我的话 你大可以不必 
    还是节约你宝贵的时间去干点 有意思的事吧 
    我要的知识这个技术上的问题
    我没有觉得自没事找抽 
    我觉得这样没问题
    因为我在学习的过程中 在思考 这个问题怎么样行,怎么样不行 
    至少想深入了解一下这个问题而已 
    我还是要谢谢每位回答我问题的朋友
    一般的我的结贴不是谁对了 分就全给谁
    分只是给所有帮助我的朋友 不管你的答案是否是我要的
      

  6.   

    嘿嘿,楼主已经很强了,学习Java如果能够坚持自己的主见的
       一般都不会菜的。
     我才是无聊的呀。。O(∩_∩)O哈哈~   以上的话不是为了分数而说的(再说我也不缺那点分)
    ----------------------------------------------------------------
    想搞出乱码先必须知道乱码是怎么回事?乱码从哪来?
      别人是怎么就乱码的?
    只是提供以上思路。。楼主还是自己找吧。。
      

  7.   

    你把数据库、web服务器、页面改成三种不同编码方式,我就不信它还不乱!
      

  8.   

    大家别再讨论上面的问题了 好不?
    我一天上来看好多次 ,但是我的问题还没有解决的啊 
    就算第一个问题不好解决,那和我说说第二个问题  好吧 
    小弟现在这人谢过了。。
    还有一个问题。useBodyEncodingforURI这个设置乱码,是不是只能设置表单提交的内容 ,包括get方式,如果直接在URL中写中文,是不是这样设置了不管用呢?(我试了下,好像是,请大家确定下) 
      

  9.   

    一般来说我会配置过滤器来解决乱码。
    乱码的根本原因就是以A编码表示的数据用B编码来解释,就像你写了一段英文在这,别人愣是要以拼音来解读它。而过滤器就充当了其中的翻译。
    下面是我的过滤器
    web.xml<?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"><filter>
    <filter-name>CharsetFilter</filter-name>
    <filter-class>com.tb.util.CharsetFilter</filter-class>
    </filter> <filter-mapping>
    <filter-name>CharsetFilter</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
    下面是过滤器package com.tb.util;import java.io.IOException;import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;public class CharsetFilter implements Filter { public void destroy() {
    // TODO Auto-generated method stub } public void doFilter(ServletRequest request, ServletResponse response,
    FilterChain chain) throws IOException, ServletException {
    // TODO Auto-generated method stub
    request.setCharacterEncoding("utf-8");
    response.setCharacterEncoding("utf-8");
    chain.doFilter(request, response);
    } public void init(FilterConfig arg0) throws ServletException {
    // TODO Auto-generated method stub }}
      

  10.   

    URL写中文,不会先encoding的吗
      

  11.   

    struts2的乱码我真的搞不懂,昨天刚开始做struts2的testdemo,一旦有中文页面乱码一大堆,搞得非常郁闷。单用过滤器我想在struts2中不顶用的吧,因为已经不是基于ActionServerlet了。
    在网站上看到了很多乱码处理的。但弄了还是不行。郁闷