struts2文件上传文件名乱码
Ⅰ struts2上传后路径是乱码怎么办
在struts.xml里面添加一段
<constant name="struts.i18n.encoding" value="GBK"/>
应该就OK了。
简单示例一下
<struts>
<constant name="struts.i18n.encoding" value="GBK"/>
<package name="my" extends="struts-default">
</package>
</struts>
Ⅱ ajax 向struts2传数据出现乱码;怎么解决,所有的编码都改成了utf-8还是不行
1.写一个过滤器,如果不行,在使用如下方法。
2.改tomcat的编码方式,这是解决乱码最彻底的一种方式。
方法如下:找到安装tomcat的路径,Tomcat 6.0--->conf--->server.xml
用记事本打开,找到
<Connector port="8080" protocol="HTTP/1.1"
maxThreads="150" connectionTimeout="20000"
redirectPort="8443"/>前面的不变,把后面加一句URIEncoding="UTF-8",如下:
<Connector port="8080" protocol="HTTP/1.1"
maxThreads="150" connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>
然后保存,OK!
Ⅲ 用struts2上传带中文名的歌曲时出现乱码(配置了常量,数据库里和歌手名字带中文都正常显示)
我最近也在研究编码的问题,utf、iso、gbk什么的,真的很麻烦...
我猜想应该先去确定,在数据库中是不是乱码,然后在action中是不是乱码,才能确定是哪一步出了问题。当然,我不清楚你用的是什么数据库,也不能提供具体的建议了,但是我相信注意一下肯定能看到编码设置的。如果你用的myeclipse之类的工具,记得在preferences里面把workspace、content types全部统一编码。以下几张我的配置图,希望对你有帮助,共同提高。
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<constant name="struts.i18n.encoding" value="utf-8"></constant>
&lt;%@ page language="java" import="java.util.*" pageEncoding="utf-8"%&gt;
&lt;constant name="struts.i18n.encoding" value="utf-8"&gt;&lt;/constant&gt;
Ⅳ struts2接受js传的中文为乱码,请问该怎么办
转码的三种方法:
A 接受参数时进行编码转换
String str = new String(request.getParameter("something").getBytes("ISO-8859-1"),"utf-8"); 这样的话,每一个参数都必须这样进行转码。很麻烦。但确实可以拿到汉字。
B 在请求页面上开始处,执行请求的编码代码, request.setCharacterEncoding("UTF-8"),把提交内容的字符集设为UTF-8。这样的话,接受此参数的页面就不必在转码了。直接使用
String str = request.getParameter("something");即可得到汉字参数。但每页都需要执行这句话。
这个方法也就对post提交的有效果,对于get提交和上传文件时的enctype="multipart/form-data"是无效的。稍后下面单独对这个两个的乱码情况再进行说明。
C 为了避免每页都要写request.setCharacterEncoding("UTF-8"),建议使用过滤器对所有jsp进行编码处理。
如果是通过action直接传的,没有配置过滤器,建议按B方法修改一下!
Ⅳ struts2中文乱码问题
那个标签的作用不是万能的
如果你用get提交,tomcate会对url编码成iso-8859-1
你页面不是gbk而是utf8,那么怎么转也转不回...
你应该这样:
1)把所有页面编码变成gbk
2)尽可能用post传递参数
3)你的数据库编码也变成gbk
这样你的编码就全部统一了...这个方法已经很简单了,就是注意习惯,之后什么转码之类的根本不用做
如果你寻找再简单的方法...这个...
找到了hi我...
Ⅵ Struts2 怎么解决中文乱码问题
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应用的Proct输出时、或者 插件输出时,则总是出错,要么不能编译通过(输出时要重新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编码。