下午抽空弄了下Struts2的文件上传,中文问题一直没解决好
再struts.xml中配置了struts.i18n.encoding为GBK了,但中文仍旧乱码,找了很久也没解决
晚上回来再仔细检查代码,发现上传文件的页面编码是设置的UTF-8,尝试将pageEncoding设置成GBK,运行就OK了
总结:
利用struts2做文件上传,中文处理需要处理两个地方:
(1)struts.xml设置<constant name="struts.i18n.encoding" value="GBK"/>,或者struts.properties文件设置struts.i18n.encoding=GBK
(2)上传文件的页面编码设置成GBK,如:<%@ page language="java" pageEncoding="GBK"%>