关于struts2 从jsp页面获取数据乱码问题。

最近几天在搭框架,之前搭StrutS2 ,然后hibernate ,到这一步的时候就会出现乱码问题。插入数据库的数据如果是中文,就会出现乱码。

然后我找了很久,数据库编码设置的utf-8, jsp 页面设置是utf-8,以及hiberante中的配置文件设置的还是utf-8,但是还是出现乱码。


我试过直接在数据库中写中文,然后拿出数据,不会乱码。还试过在代码中直接将用户名的属性写死。结果还是乱码。

然后我就想,是不是struts 从JSP页面拿数据的时候乱码,果然,在控制台输去前台拿到的数据乱码。

找到struts配置文件

<constant name="struts.i18n.encoding" value="UTF-8"></constant>  这样觉得应该不会乱码了吧,结果运行结果还是乱码,

这句话的意思: 指定Web应用的默认编码集,相当于调用 HttpServletRequest的setCharacterEncoding方法。  


后面经过查询资料找到原来还要设置一句

<!-- 设置默认的locale和字符编码 -->  

<constant name="struts.locale" value="zh_CN"></constant>

  struts.locale:指定Web应用的默认Locale。

  struts.i18n.encoding:指定Web应用的默认编码集。该属性对于处理中文请求参数非常有用,对于获取中文请求参数值,应该将该属性值设置为GBK或者GB2312。


然后乱码问题才解决。。真心觉得程序这东西好难调,不过还有自己有兴趣做这个事情。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值