//首先说明,我的服务器和页面编码都是GBK,所以尝试了很多种GBK的方式
前台:
function printFunction(){
window.print();
$.ajax({
url : '/tpzssearch/handleRecordLog.action',
type : 'post',
//各种尝试
//processData : true,
//scriptCharset:'GBK',
// contentType: 'application/x-www-form-urlencoded; charset=gbk',
// contentType: "application/x-www-form-urlencoded;charset=gbk",
data : {tablename:'<%=java.net.URLEncoder.encode(tablename,"UTF-8")%>',
search:'<%= java.net.URLEncoder.encode(session.getAttribute("oradetailQueryString").toString(),"UTF-8")%>',
info:'<%=java.net.URLEncoder.encode(rs,"UTF-8")%>'
}
});
} 后台:
//gbk互转UTF-8试过、ISO-8859-1互转gbk试过、ISO-8859-1互转UTF-8试过
public static String toUTF(String arg) {
        if (arg != null && arg.trim().length() > 0) {
            try {
                arg = new String(arg.getBytes("GBK"), "UTF-8");
            } catch (Exception e) {
            }
        } else {
            arg = "";
        }
        return arg;
    }
logModel.setTableName(URLDecoder.decode(request.getParameter("tablename"),"UTF-8"))
最后:就是传参数时java.net.URLEncoder.encode(tablename,"UTF-8"),接收参数时URLDecoder.decode(request.getParameter("tablename"),"UTF-8"),解决了

解决乱码的4个方向:

方法一:
在后台中使用request.setCharacterEncoding("UTF-8");

方法二:
$.ajax({
    type:'post',
    contentType:'application/x-www-form-urlencoded; charset=UTF-8'
});

方法三:

public static String toUTF(String arg) {
        if (arg != null && arg.trim().length() > 0) {
            try {
                arg = new String(arg.getBytes("GBK"), "UTF-8");
            } catch (Exception e) {
            }
        } else {
            arg = "";
        }
        return arg;
    }

方法四:

URLDecoder

随机推荐

  1. ZOJ 2672 Fibonacci Subsequence(动态规划+hash)

    题意:在给定的数组里,寻找一个最长的序列,满足ai-2+ai-1=ai.并输出这个序列. 很容易想到一个DP方程 dp[i][j]=max(dp[k][i])+1. (a[k]+a[i]==a[j], ...

  2. Javascript 的类型转换之减号

    专职写JS已经有一个月了(对,没错就是一个月),从2014年11月24实习开始到今的2月份,我做的工作一直都是切图,另外跟着老板学产品,现在我一听到切图两字,我就想吐...所以我找了一份专职写JS的工 ...

  3. (转)mysql账号权限密码设置方法

    原文:http://www.greensoftcode.net/techntxt/2013410134247568042483 mysql账号权限密码设置方法 我的mysql安装在c:\mysql 一 ...

  4. 拆解一个简单的KeyFile保护

    系统 : Windows xp 程序 : abexcrackme3 程序下载地址 :http://pan.baidu.com/s/1mh3TiqO 要求 : 伪造Keyfile 使用工具 :IDA 可 ...

  5. 请问用Inno_Setup打包文件夹时怎么排除其中一个文件?

    请问用Inno_Setup打包文件夹时怎么排除其中一个文件? 该文件夹下有几十个文件,多个文件夹,我要一个个加进去该累死,也容易出问题.不知道能不能实现我要的目的. http://www.jrsoft ...

  6. Python MySQL ORM QuickORM hacking

    # coding: utf-8 # # Python MySQL ORM QuickORM hacking # 说明: # 以前仅仅是知道有ORM的存在,但是对ORM这个东西内部工作原理不是很清楚, ...

  7. 右键菜单添加程序,指定图标, Notepad2、Sublime Text 2

    右键添加Sublime Text 打开方式 Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\*\shell\Sublime Text] ...

  8. Windows上的文件合并命令

    从Linux转到Windowns后,发现很多好用的shell命令都没有了,但实际情况是Windows一样有DOS时代的命令窗口,在CLI年代用DOS的人也要干活. 比如,今天想将几个单独的sql文件整 ...

  9. 2003服务器断开rdp后会自动注销。

    开始-运行-gpedit.msc-计算机配置-管理模板-Windows Components-Terminal Services-Sessions-Set time limit for disconn ...

  10. Java-->实现群聊功能(C/S模式--TCP协议)

    --> Java 对TCP协议的支持: --> java.net包中定义了两个类ServerSocket 和Socket ,分别用来实现双向连接的server 端和client 端. -- ...