在做一个ssh2的项目的时候发现当把输入的值传入到Action后通过Action把这些值保存到数据库时这些值全变成了???请问这个问题怎么解决?
这些值都是通过input控件的text属性输入的string值!
数据库是mysql,数据库和页面都是用的GBk字符。
我用<s:textefield/>标签来尝试也是这个问题,这还只是String字段的转换,double这些字段还没有尝试!

解决方案 »

  1.   

    字符集的问题
    如果你的页面确定都是用GBK字符集,
    那就是数据库的问题
    我现在做ssi(struts2+spring+ibatis)也使用的mysql数据库,遇到了相同的问题.
    最后发现是mysql字符集的问题,改成GBK就ok了
      

  2.   

      也可能是你建数据库的时候编码设得不对。数据库的字符串最好不要用varchar(10) ,varchar()对中文的支持性不好。最好用nvarchar();
      

  3.   

    设置struts.i18n.encoding = GBK
      

  4.   

    虽然你前台的字符集和数据库都统一为gbk了,但是你后台的字符集没有设置吧,建议写个过滤器,如果用spring的话有自带的过滤器,否则自己写个,不然的话你得每个servlet中都加上request.getCharacterEncoding("GBK"),而且你的提交方法要是post
      

  5.   

    搞定了加个<constant name="struts.i18n.encoding" value="GBK" />就OK了!