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空页面里,这样也能解决问题。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)