将表单var form = this.up('form').getForm();
values = form.getValues();
projectStore.reload({
params:{
 strForm:Ext.JSON.encode(values)
}
});提交后台后,表单中有一项 人名输入 :张三,后台接收到的strForm中显示为\u5f20\u4e09,即中文都显示为\u****\u****的形式,牛人指点下

解决方案 »

  1.   

    前台,后台,文件都指定utf8编码
      

  2.   

    public String decodeUnicode(String theString) { 
      
            char aChar; 
            int len = theString.length();   
            StringBuffer outBuffer = new StringBuffer(len);  
            for (int x = 0; x < len;) { 
                aChar = theString.charAt(x++); 
                if (aChar == '\\') { 
                    aChar = theString.charAt(x++); 
                    if (aChar == 'u') {  
                        // Read the xxxx  
                        int value = 0; 
                        for (int i = 0; i < 4; i++) { 
                            aChar = theString.charAt(x++); 
                            switch (aChar) {  
                            case '0':  
                            case '1':   
                            case '2':  
                            case '3':  
                            case '4':  
                            case '5':  
                            case '6': 
                            case '7': 
                            case '8': 
                            case '9': 
                                value = (value << 4) + aChar - '0'; 
                                break; 
                            case 'a': 
                            case 'b': 
                            case 'c': 
                            case 'd': 
                            case 'e': 
                            case 'f': 
                                value = (value << 4) + 10 + aChar - 'a'; 
                                break; 
                            case 'A': 
                            case 'B': 
                            case 'C': 
                            case 'D': 
                            case 'E': 
                            case 'F': 
                                value = (value << 4) + 10 + aChar - 'A'; 
                                break; 
                            default: 
                                throw new IllegalArgumentException( 
                                        "Malformed   \\uxxxx   encoding."); 
                            } 
                        } 
                        outBuffer.append((char) value); 
                    } else { 
                        if (aChar == 't') 
                            aChar = '\t'; 
                        else if (aChar == 'r') 
                            aChar = '\r'; 
                        else if (aChar == 'n') 
                            aChar = '\n';  
                        else if (aChar == 'f')   
                            aChar = '\f';   
                        outBuffer.append(aChar);   
                    }   
                } else  
                    outBuffer.append(aChar);   
            }  
            return outBuffer.toString();  
        }
    }//这是一个转码的函数,可以恢复为汉字,后续需要加一条语句去掉多出来的双引号