Struts2 怎么解决中文乱码问题

Struts2 怎么解决中文乱码问题,第1张

1、你页面过来的提交文本都要设置编码,最好将页面设置为UTF-8

2、如果你用了Spring框架,则可以在web.xml文件里统一设置页面提交过来的文本编码

  【代码】

<!-- Spring编码过滤器,管理从页面或服务器条状提交过来的字符串的编码 -->

<filter>

     <filter-name>encodingFilter</filter-name>

     <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>

     <init-param>

         <param-name>encoding</param-name>

         <param-value>UTF-8</param-value>

     </init-param>

     <init-param>

         <param-name>forceEncoding</param-name>

         <param-value>true</param-value>

     </init-param>

</filter>

<filter-mapping>

     <filter-name>encodingFilter</filter-name>

     <url-pattern>*.action</url-pattern>

</filter-mapping>

<filter-mapping>

     <filter-name>encodingFilter</filter-name>

     <url-pattern>*.jsp</url-pattern>

</filter-mapping>

以上代码放到web.xml文件中哦!

3、MyEclipse或者Eclipse设置文件编码

eclipse 中使用模板新建 JSP,xhtml等 文件时,默认的编码为:ISO-8859-1。 ISO-8859-1 编码对于中文的显示是不支持的,如果要支持简体中文,则编码方式应为 GBK 或者 GB2312 或者 UTF-8(推荐) 等。右键菜单栏window -->preferences -->在type filter text中输入jsp-->选择下面的jsp ->选择creating files组中的encoding 为UTF-8编码就可以了

如果要使新建立工程、java文件直接使UTF-8则需要做以下工作:

(1)、windows->Preferences...打开"首选项"对话框,左侧导航树,导航到general->Workspace,右侧 Text file encoding,选择Other,改变为UTF-8,以后新建立工程其属性对话框中的Text file encoding即为UTF-8。

(2)、windows->Preferences...打开"首选项"对话框,左侧导航树,导航到general->Content Types,右侧Context Types树,点开Text,选择Java Source File,在下面的Default encoding输入框中输入UTF-8,点Update,则设置Java文件编码为UTF-8。其他java应用开发相关的文件 如:properties、XML等已经由Eclipse缺省指定,分别为ISO8859-1,UTF-8,如开发中确需改变编码格式则可以在此指定。

(3)、经过上述两步,新建java文件即为UTF-8编码,Eclipse编译、运行、调试都没问题,但是做RCP应用的Product输出时、或者 插件输出时,则总是出错,要么不能编译通过(输出时要重新compile)、要么输出的插件运行时中文显示乱码。此时需要再RCP应用、或插件 Plugin工程的build.properties中增加一行,javacDefaultEncoding.. = UTF-8。让输出时编译知道java源文件时UTF-8编码。这个设置需要保证所有的java源文件时UTF-8编码格式,如果不全是,可以参考 Eclipse帮中(Plug-in Development Environment Guide >Reference >Feature and Plug-in Build configuration),建议全部java源文件是UTF-8编码。

首先<constant name="struts.i18n.encording" value="UTF-8"></constant>

另外考虑可能是tom cat的语言设置问题,在myEclipse的设置里可以搜索tom找到tom cat设置默认语言为UTF-8;

再者页面不仅使用request.setCharacterEncoding(“utf-8”)再加上response.setCharacterEncoding(“utf-8”)

试试看,不行就设置tom cat的自身配置文件http://bbs.csdn.net/topics/380205136;

不行就换个tom cat 7.0。

乱码问题发生于编码方式不统一造成的,我来说一下我遇到乱码时的查找过程

1,看看项目的编码方式是否是UTF-8

2,看看html页面的编码方式是否是UTF-8

3,看看struts2的接传值编码方式是否是UTF-8,看看属性里的编码方式是否更改了。

如果还是乱码我一般会在项目里直接建立一个html空页面,然后把原html的源代码复制到刚刚建立的html空页面里,这样也能解决问题。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9684234.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存