<%@ page contentType="text/html;charset=UTF-8"%>
<%@ page language="java" pageEncoding="UTF-8"%>
<s:form method="POST"
enctype="multipart/form-data" theme="css_xhtml">
<tr>
<s:label value="申请人"></s:label>
<s:textfield name="processorName" ></s:textfield>
</tr>
<tr>
<s:label value="通知标题"></s:label>
<s:textfield name="process.processName" ></s:textfield>
</tr>
<tr>
<s:label value="通知内容"></s:label>
<s:textarea name="process.reason" ></s:textarea>
</tr>

<tr>
<s:label value="处理人"></s:label>
<s:select list="selects" id="processor"
listKey="id" listValue="name" value="process.nextProcessor.id" name="process.nextProcessor.id"></s:select>
</tr>
<tr>
<s:label value="附件"></s:label>
<s:file name="myFile"></s:file>
</tr></s:form>上传后,s:textfield和s:textarea中文都是乱码,请问这怎么解决

解决方案 »

  1.   

    public static String Convert(String s) {
    String result = "";
    try {
    result = new String(s.getBytes("iso-8859-1"), "utf-8");
    } catch (Exception ex) {
    System.out.println(ex);
    }
    return result;
    }
    我也转过,但还是乱码
      

  2.   

    如果没有<tr> 
    <s:label value="附件"> </s:label> 
    <s:file name="myFile"> </s:file> 
    </tr> 我用
    public static String Convert(String s) { 
    String result = ""; 
    try { 
    result = new String(s.getBytes("iso-8859-1"), "utf-8"); 
    } catch (Exception ex) { 
    System.out.println(ex); 

    return result; 

    可以转成正常的编码,如果有<tr> 
    <s:label value="附件"> </s:label> 
    <s:file name="myFile"> </s:file> 
    </tr> 
    就不行了
      

  3.   

    但是我觉得你并没有解决真实的问题,按理说,file和其它普通字段是可以一起上传的。
      

  4.   

    有三种方法解决的1.在struts2-core-2.0.0-SNAPSHOT.jar包中路径为struts2-core-2.0.6\org\apache \struts2
    有一个default.properties 文件,把struts.i18n.encoding=UTF-8改为
    struts.i18n.encoding=GBK 
    2.或者在struts.xml文件内添加常量: 
    <constant name="struts.i18n.encoding" value="GBK"/>
    我当然是用的第二种方法,简单方便.
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd">
    <struts>
        <constant name="struts.i18n.encoding" value="GBK"/>
        <package name="com" extends="struts-default">
            <action name="test" class="com.TestAction" method="test">
                <result>/ok.jsp</result>
            </action>
        </package>
    </struts>