charset and encode/decode are different

解决方案 »

  1.   

    指定一下charset难道还不可以吗?
    <%@ page contentType="text/html;charset=gb2321"%>
    等等
    试一下
      

  2.   

    当然指定了啊,但是拿到客户那边因为有不同的操作系统,不同的浏览器,所以在很多机器上操作会有乱码(不是页面文字乱码,是在对数据库操作过程中的乱码,应该是和客户端无关的,但是不知道为什么会有乱码),我真的很郁闷,哪位大哥有这方面的经历啊?有什么统一的办法吗?
    我看很多jsp做的网站还要面向更广泛的客户和对象,为什么那就没有乱码现象了?
      

  3.   

    从数据库里取出来的东西先转一下码,比如:name = new String( name.getBytes( "ISO8859-1" ) , "GB2312" ) ;
      

  4.   

    你说的数据库中的乱码,确实是存在的,
    不同的数据库的字符形式不同,
    我觉的你应该根据不同的数据库,
    设置转码的程序,
    就像楼上的那种形式。
    我以前在连接mysql和sql时候出现过这种情况
    就是这么解决的
    你试试看
    呵呵
      

  5.   

    我想你可以从以下几个方面着手:
    1、看看数据库的配置文件,确定那里用的是什么字符集
    2、看看系统环境中使用的什么字符集,可以使用system.getProperties()获得。
    解决办法:
    1、自己可以重新些个http request类,主要是重载getParameter()等方法。
    2、使用javac带-encoding <encoding>选项
    如果你使用的是tomcat的话可以修改配置文件,使用jike作为jsp的编译器。
      

  6.   

    有空看一下java支持的字符集,光iso的就几十个....
    我也遇到类似问题,不过解决方法不外乎页面设置,字符串重新定义(解释),服务器配置。还有别的方法吗?欢迎大家指导。