关于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。


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




你可能感兴趣的:(数据库,struts,乱码,utf-8)