public String execute() throws Exception {
        Company company=null;
        if(autoID!=null&&!autoID.toString().equals("")&&!autoID.toString().equals("0")){
            company=getwlcspService().get(Company.class,autoID);
            company.setCompanyNO(companyNO);
            company.setCompanyName(companyName);
            company.setTel(tel);
            company.setAddress(address);
            company.setCreator("jet");
            company.setDeleted(false);
            getwlcspService().save(company);
        }else{
            company=new Company();
            company.setCompanyNO(companyNO);
            company.setCompanyName(companyName);
            company.setTel(tel);
            company.setAddress(address);
            company.setCreator("jet");
            company.setDeleted(false);
            getwlcspService().save(company);
        }
         System.out.println("address-------------"+address);
        msg="保存成功!";
        System.out.println("msg-------------"+msg);
        success=true;
return this.SUCCESS;
}
其中 address可以答应成中文 “上海”但是msg赋了"保存成功!"后,再print一下 居然是乱码  
到底啥问题啊

解决方案 »

  1.   

    设置断点调试一下
    如果是你说的情况  应该是你set之后就乱码了
    好好检查检查set方法那
      

  2.   

    在struts配置文件里配置下编码格式
      

  3.   


    set方法 就在类里面这个类的全部代码如下:package com.wlcsp.erp.wlcsperp.hr;import com.opensymphony.xwork2.ActionSupport;
    import com.wlcsp.erp.bean.wlcsperp.hr.Company;
    import static com.wlcsp.erp.core.AppService.getwlcspService;import java.util.List;
    import java.util.ArrayList;/**
     * Created by IntelliJ IDEA.
     * User: Jet
     * Date: 2011-9-18
     * Time: 14:57:17
     * To change this template use File | Settings | File Templates.
     */
    public class SaveCompanyAction extends ActionSupport{
        private boolean success;
        private String msg;
        private Long autoID;    private String companyNO;
    private String companyName;
    private String tel;
        private String address;
        public boolean isSuccess() {
            return success;
    }
    public void setSuccess(boolean success) {
    this.success = success;
    }
        public String getMsg() {
    return msg;
    }
        public void setMsg(String msg) {
    this.msg = msg;
    }
        public Long getAutoID() {
    return autoID;
    }
        public void setAutoID(Long autoID) {
    this.autoID = autoID;
    }
        public String getCompanyNO() {
    return companyNO;
    }
        public void setCompanyNO(String companyNO) {
    this.companyNO = companyNO;
    }
        public String getCompanyName() {
    return companyName;
    }
        public void setCompanyName(String companyName) {
    this.companyName = companyName;
    }
        public String getTel() {
    return tel;
    }
        public void setTel(String tel) {
    this.tel = tel;
    }
        public String getAddress() {
    return address;
    }
        public void setAddress(String address) {
    this.address = address;
    }
        public String execute() throws Exception {
            Company company=null;
            if(autoID!=null&&!autoID.toString().equals("")&&!autoID.toString().equals("0")){
                company=getwlcspService().get(Company.class,autoID);
                company.setCompanyNO(companyNO);
                company.setCompanyName(companyName);
                company.setTel(tel);
                company.setAddress(address);
                company.setCreator("jet");
                company.setDeleted(false);
                getwlcspService().save(company);
            }else{
                company=new Company();
                company.setCompanyNO(companyNO);
                company.setCompanyName(companyName);
                company.setTel(tel);
                company.setAddress(address);
                company.setCreator("jet");
                company.setDeleted(false);
                getwlcspService().save(company);
            }
             System.out.println("address-------------"+address);
            msg="保存成功!";
            System.out.println("msg-------------"+msg);
            success=true;
    return this.SUCCESS;
    }
    }
      

  4.   


    已配置,具体如下:<?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="utf-8" />
        <constant name="struts.objectFactory" value="spring"/>
        <package name="S2SH" extends="json-default">
            <action name="listCompany" class="companyListAction" >
                <result type="json" ></result>
            </action>
            <action name="saveCompany" class="saveCompanyAction" >
                <result type="json"></result>
            </action>
        </package>
    </struts>
      

  5.   

    乱码问题无外乎编码格式不统一照成的把工具环境也统一成UTF-8
    写在一个类你你也可以设置下断点试试要么就是你的数据库编码照成的
    还可以修改tomact服务器的编码格式。。
    你在struts里面配置了 也要把log4j默认的编码格式改掉才行
    光看你这代码实在看不出问题。只有自己调试
      

  6.   

    设置编码方式URL.encode方法,在java.net包下面
      

  7.   

    看看你的eclipse=》window=》首选项=》General=》Workspace=》Text file encoding选的是哪一个?要改成支持中文的!
      

  8.   


    没设之前也是乱码直接打印 
    System.out.println("保存成功-------------");打出的也是乱码
      

  9.   

    解决了 
    我把所有页面这个类重新删了  再键一个  就可以了声明一下,一开始编写这个类的时候开发环境不是utf-8 后来我项目改为utf-8,可能由于这个问题 
    被这个问题搞死了