本帖最后由 fzlme5 于 2010-06-28 16:31:10 编辑

解决方案 »

  1.   

    数据库是那个?Mysql 吗 ? 不行换成GBK试试
      

  2.   

    to:lvbang_lzt太激动了,忘记了写第8条,
    唯一就是没与数据来源验证了。
    试试先。
      

  3.   

    数据是从Oracle10g用文本导入9i的,字符集是简体中文。
    应该没多大的问题。
      

  4.   

    你在web.xml里面配置spring里面有个关于字符转换的过滤器,要就自己写一个字符过滤器配置在web.xml里面,我也遇到过lz说的问题,在struts2.xml文件配置关于的那样<constant name="struts.i18n.encoding" value="UTF-8" />
    不起作用,个人认为是struts2的一个bug把!
      

  5.   

    我也遇见过着问题,我的是表单提交的的方式用的是get,完了改成post就好了!
      

  6.   

    数据库是可以进行编码的,如果用页面和代码之间的问题的话,可以用escape(字符串)方法转化之后再传试试!
      

  7.   

    传值是通过ACtion里的属性与页面Name绑定的,所以这方法不好使。
      

  8.   

    首先在文本框输入要查询的值(中文汉字)第一提交不会乱码,
    第二次开始就出现如我问题所述。
    因为是用的Struts2标签,所以当我们输入值时,Struts2标签会自动感知。
    就是这时乱码的。
      

  9.   


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <%@ page language="java" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
    <%@ taglib prefix="s" uri="/struts-tags"%>
    <%@ taglib uri="/tld/pagination.tld" prefix="page"%>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta content="text/html; charset=UTF-8" http-equiv="contentType" />
        <title>null</title>
    <link href="./css/css.css" rel="stylesheet" type="text/css" />
    <style type="text/css">
      a:link{ color:#404040; text-decoration:none;}
    a:visited{ color:#404040; text-decoration:none;}
    a:hover{ color:#ff7e00; text-decoration:none;}
    a:active{ color:#ff7e00; text-decoration:none;}
    </style>
    </head>
    <body>
    <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" class="icons_333">
      <tr>
        <td width="103" align="left" valign="top" class="title_4"></td>
        <td width="905" align="left" valign="top" class="bg-title">&nbsp;</td>
        <td width="18" align="left" valign="top"></td>
      </tr>
    </table>
    <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#eaeaea" class="borderweight">
    <s:form action="expertSchedulingListcx" method="post">
      <tr>
        <td width="10%" height="30" align="right" valign="middle"><span>科室</span></td>
        <td width="16%" align="left" valign="middle"><label>
        <s:select list="tbDicKss" name="ksid" id="ksid" listKey="id" listValue="dmxmc" headerKey="" headerValue="-----全部-----" value="ksid" cssClass="input1"/>
        </label></td>
        <td width="10%" align="right" valign="middle"><span>专家</span></td>
        <td width="16%" align="left" valign="middle"><s:textfield name="name" cssClass="input"/></td>
    。。中间省略
    <page:page pageId="page" link="expertSchedulingList.action">
    显示内容部分略。
    <table width="101%" border="0" align="center" cellpadding="0" cellspacing="0">
      <tr>
        <td height="30" bgcolor="#eaeaea">
        <table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
          <tr>
            <td  style="border:0px" align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;第&nbsp;<page:currentNumber/>&nbsp;页/共&nbsp;<page:totalNumber/>&nbsp;页</td>
        <td style="text-align:right" width="70%" style="border:0px">每页大小&nbsp;<page:size candidateSizes="10,20,30"/>&nbsp;跳转&nbsp;<page:go label="GO"/>&nbsp;&nbsp;<page:first label="首页"/>&nbsp;<page:previous label="上一页" hideIfFirst="true"/>&nbsp;
         <page:next label="下一页" hideIfLast="true" />&nbsp;<page:last label="末页"/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
          </tr>
        </table>
        </td>
      </tr>
    </table>
    </page:page>
      

  10.   


      <td width="10%" align="right" valign="middle"><span>专家</span></td>
        <td width="16%" align="left" valign="middle"><s:textfield name="name" cssClass="input"/></td>这是导致乱码位置
      

  11.   

    还有一点细节忘记说了,把提交方式改成get方式 第一次就开始乱码。而post是从第二次开始的。
      

  12.   

    JSP应该没错,filter也应该没错,不然第一次就会直接出错
    觉得是在java类里面处理这个字符串的时候出错,返回到页面的时候应该错了
    再提交一次当然错了
      

  13.   

    Tomcat5.5
    Tomcat6.0
    是一样的,应该不是这问题,还是Struts2的问题。
      

  14.   

     看看web.xml中的配置顺序.这点非常重要.希望能对你有所帮助.
      

  15.   

    TO:say_h1果然是这问题,细节很重要.非常感谢say_h1的指导!!也谢谢各位.
      

  16.   

    如果是post和get提交不一致乱码的话,是服务器问题。
    请自己去./tomcat-x.x/conf/server.xml添加
    disableUploadTimeout="true" useBodyEncodingForURI="true" URIEncoding="UTF-8"(也可能是UTF8 我记的不清楚了)你们难道没去看过那些解析器原码吗(pst和get并没有统一处理)?
    你不知道所有get请求是先被服务器处理后再给你的核心控制器处理的吗?