Windows系统是什么编码的(这是默认的还是确定的)?能否查看?Linux呢?中文系统和英文有否不同?文本和很多软件,能识别各种编码,这是软件的功能?和系统无关?是它将码解了,然后传给系统??在tomcat默认情况下jsp和servlet中的中文数据交换会出现乱码,是什么原因呢?(流程是这样吗:前台utf-8解码成二进制(客户端)->二进制编码成iso**(服务端,这时不能看中文)->iso**解码成二进制(getBytes("iso**")->utf-8编码(string(Byte[],String))?)

解决方案 »

  1.   

    过滤器的原理: 写个过滤器类   在web.xml中配置。当你项目启动是自动先解析web.xml文件。自动处理乱码问题。关于代码的详细介绍上面写的很清晰,很好理解
      

  2.   

    看你用的是什么技术。要是用JDBC+Servlet的话要用个过滤器。如果用ssh框架的话可以不用 只需要在页面的charset这里设置成UTF-8就OK
      

  3.   

    哦,我知道过滤器是做啥的,我是想问下那个过滤器里面处理乱码的那些代码对编码进行了什么处理。还是那样,我想问下乱码在jsp和servlet中的中文数据交换会出现乱码的具体流程。是想研究一下乱码。
      

  4.   

    乱码无非就是用户输入值用GET POST提交信息时产生的乱码,通常处理方法就是楼上所说的用过滤器,一次处理乱码,全局受用
      

  5.   


    tomcat默认的肯定不是utf-8.。
      

  6.   

    你可以更改tomcat的server.xml配置文件的,加一句URIEncoding="GBK" <Connector port="8888" protocol="HTTP/1.1" 
                   maxThreads="150" connectionTimeout="20000" 
                   redirectPort="8443" URIEncoding="GBK"/>
      

  7.   

    ==!,表示知道那些技巧,不过,不了解乱码的原因,想了解一下,关于用string构造函数加character和在server.xml 都知道,不过就是不明白为什么这样做,有高人指点一下吗?而且,我的问题还有前两个,。
      

  8.   

    楼主在不同的系统执行这个就知道了import java.util.Properties;
    public class OutFileEncoding
    {
        public OutFileEncoding()
        {
        }
        public static void main(String args[])
        {
            System.getProperties().list(System.out);
        }
    }
      

  9.   

    其中,系统编码是"file.encoding"
      

  10.   


    URIEncoding="GBK"
    不是说的很清楚了么!
    URI 明白不? Encoding 编码,明白不?
    为什么这样做? 告诉Tomcat URI 用指定的编码.不明白你为什么不明白.
      

  11.   

    想起我们Java老师说的话,看对你有用没有
    1:编写的jsp要编码方式
    2:浏览器读取要编码方式
    3:另一个jsp文件要用到你写的jsp文件也要编码方式这3个编码方式要一致就不会出错了。windows由本地化的编码方式,我也不知道他本来的编码方式是啥
      

  12.   


    file.encoding=UTF-8
    win7
    这个是否说,其它编码的东西,直接放在win7都不OK,但实际应该不是这样子,现在gb的编码应该也很多,
    这是否和打开那个文件的那个软件有关?例如,你的jsp是gb的编码,服务器传到我的浏览器里是一个gb编码的字符串,来到我的浏览器后,我的浏览器对这个gb解码,然后再编成utf-8,接着,win7能识别,我们就能看到,求求证
      

  13.   

    约定最重要,基本不会产生乱码,比如,约定前后台统一的编码格式,统一的提交方式(post)