基于structs的系统, 我登陆后,点击按钮,跳转到 新建用户界面,中文全是“?”,点“提交”,界面刷新后 显示正常了,这问题出在哪?

解决方案 »

  1.   

     设置为utf-8了吗 pageEncoding="UTF-8"
      

  2.   

    你的jsp文件是用什么编码保存的,在title标签前加上
    <meta http-equiv="content-type" content="text/html;charset=jsp文件编码">
      

  3.   

    web乱码
    http://blog.csdn.net/crazylaa/archive/2009/12/24/5066784.aspx看看你的除了最上面的 pageEncoding=UTF8之外,是否下面还有 <META 里面又设置了不同的编码?浏览器设置里面直接选择UTF8
      

  4.   

    1) jsp文件本身用utf-8格式保存
    2)jsp文件内部,encoding用utf-8
    3)数据库用utf-8,数据库连接用utf-8
      

  5.   

    lz还是按照楼上各位大侠说的再做一次,body部分的代码可以拷过来重用
    如果还出现这种情况就奇怪了
      

  6.   

    在工具里面设置一下编码的格式啊!uft-8
      

  7.   

    jbk  试试   加过滤器了吗  
      

  8.   

    写个过滤器类,在web.xml中配制一下!看可以不可以!
      

  9.   

      我以前也出现过,是和SQL Server交互的时候  在JSP页面中,我们通过以下的方法解决中文乱码问题,首先,在html的head标签内加入以下meta信息:
                  <meta http-equiv=Content-Type content="text/html; charset=gbk">
           其作用是告诉客户端浏览器,这个HTML为GBK编码文件。
           在JSP中加入以下的一句编译指令,定义JSP程序使用字符集为GBK:
                  <%@ page contentType="text/html;charset=gbk" %>
           这样,保证了JSP服务器引擎将会把JSP的输出以GBK编码的形式输出。
    但是在表单提交或URL传参数值时依然是按照Web容器在其内部默认的字符编码格式ISO 8859-1来进行处理的。同时,几乎所有的浏览器在传递参数时都是默认以UTF-8的方式来传递参数的。所以,虽然我们的Java源文件在出入口的地方指定了正确的编码方式,但其在容器内部运行时还是以ISO 8859-1来处理的,这样导致在提交的表单中若有中文字符,根据上文分析,在存入数据库是使用的是ISO 8859-1, 而MS SQL Sever 2000数据库默认使用的是GBK编码,这样出现的结果就是存到数据库中的数据因编码不同而出现乱码现象。
    在这种情况下,我们的解决办法就是通过编码转换,使存放到数据库的数据编码格式与数据库的内部编码格式统一,即为GBK编码格式。
    即将写入数据库的中文转换为从ISO 8859-1编码格式,实现方法如下:
           String str=new String(dbstr.getBytes("ISO8859-1"))        读出数据库的中文将其从GBK编码格式转换为ISO 8859-1编码格式,实现方法如下:
           String str=new String(dbstr.getBytes("GBK"));   //读数据库可以不用这句,直接在doPost中 response.setCharacterEncoding("gbk");还需要主义的是,在doPost或doGet中设置的时候,需要放在函数的起始位置。
           
     public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException
        {          
            response.setContentType("text/html");     //第一行
            response.setCharacterEncoding("gb2312");  //第二行
            PrintWriter out = response.getWriter();   //第三行
       ................
        }
       还有,不能把PrintWriter out = response.getWriter(); 这句放第一行,我也不知道为什么.实践得出的结论。