Struts中文乱码问题
1、页面乱码
把Encoding改成pageEncoding="utf-8"
在Eclipe里JSP页面默认的编码是ISO-8859-1,若要改成是UTF-8则在菜单栏Windows-->Prefrences,然后选择MyEclipse-->Files and Editor-->JSP,选择Encoding就OK了。
打开JSP页面时采用的是MyEclipse JSP Editor而不是Visual JSP Designer方式:
打开windows-->preferences-->General-Editors-->File Associations,在File types中选中“*.jsp”,在下窗口Associated editors中选中“MyEclipse JSP Editor”,点击右边的“Default”按钮,点击“OK”退出。
[color=red]今天遇到在Eclipse的JAVA类注释中出现乱码的现象,解决办法:菜单栏Windows-->Prefrence-->General-->WorkSpace中选择Text File Encoding 为GBK就OK了。(Eclipse 默认情况下是GBK,要看之前写注释用的Encoding是什么就改什么)[/color]
2、传递参数乱码(POST,GET方法传递的参数都出现乱码)
步骤一:修改server.xml 大概在50行左右,在Connector标签中加入 URIEncoding="UTF-8"
步骤二:编写过滤器类characterEncodingFilter实现ServletFilter接口,
在doFilter(ServletRequest request,ServletResponse response,FilterChain chain)方法中
加入代码 request.setcharacterEncoding("utf-8");
chain.doFilter(request,response);
步骤三:在web-xml中加入代码
<filter>
<filter-name>characterEncoding</filter-name>
<filter-class>com.casa2.struts.characterEncodingFilter</filter-class>
</filter>
<filter-mapping>
<url-pattern>/*</url-pattern>
</filter-mapping>
3、国际化中文乱码
方法一:native2ascii -encoding gbk ApplicationResources_zh_CN.Properties
temp.properties
方法二:Eclipse ResourceBundle Editor插件
4、服务器配置
直接在服务器里设置编码转换。我用的是TOMCAT5.0.28。
在..\Tomcat 5.0\conf目录里找到SERVER.XML文件,用写字板打开它,设置如下:
<Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100" debug="0"connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="GBK"/>
里面增加一个属性就可以了,URIEncoding="GBK"
String ss=new String(str.getBytes("ISO-8859-1"),"GBK");
1、页面乱码
把Encoding改成pageEncoding="utf-8"
在Eclipe里JSP页面默认的编码是ISO-8859-1,若要改成是UTF-8则在菜单栏Windows-->Prefrences,然后选择MyEclipse-->Files and Editor-->JSP,选择Encoding就OK了。
打开JSP页面时采用的是MyEclipse JSP Editor而不是Visual JSP Designer方式:
打开windows-->preferences-->General-Editors-->File Associations,在File types中选中“*.jsp”,在下窗口Associated editors中选中“MyEclipse JSP Editor”,点击右边的“Default”按钮,点击“OK”退出。
[color=red]今天遇到在Eclipse的JAVA类注释中出现乱码的现象,解决办法:菜单栏Windows-->Prefrence-->General-->WorkSpace中选择Text File Encoding 为GBK就OK了。(Eclipse 默认情况下是GBK,要看之前写注释用的Encoding是什么就改什么)[/color]
2、传递参数乱码(POST,GET方法传递的参数都出现乱码)
步骤一:修改server.xml 大概在50行左右,在Connector标签中加入 URIEncoding="UTF-8"
步骤二:编写过滤器类characterEncodingFilter实现ServletFilter接口,
在doFilter(ServletRequest request,ServletResponse response,FilterChain chain)方法中
加入代码 request.setcharacterEncoding("utf-8");
chain.doFilter(request,response);
步骤三:在web-xml中加入代码
<filter>
<filter-name>characterEncoding</filter-name>
<filter-class>com.casa2.struts.characterEncodingFilter</filter-class>
</filter>
<filter-mapping>
<url-pattern>/*</url-pattern>
</filter-mapping>
3、国际化中文乱码
方法一:native2ascii -encoding gbk ApplicationResources_zh_CN.Properties
temp.properties
方法二:Eclipse ResourceBundle Editor插件
4、服务器配置
直接在服务器里设置编码转换。我用的是TOMCAT5.0.28。
在..\Tomcat 5.0\conf目录里找到SERVER.XML文件,用写字板打开它,设置如下:
<Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100" debug="0"connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="GBK"/>
里面增加一个属性就可以了,URIEncoding="GBK"