NutzCN Logo
问答 表单传递到后台,参数是乱码
发布于 2867天前 作者 qq_d6d46f6d 2531 次浏览 复制 上一个帖子 下一个帖子
标签:

如下这样一个表单

<form id="excelform" action="/private/manager/report/order/exportExcel" method="post" target="_blank">
    <input type="hidden" id="orderCode" name="orderCode" value="">
    <input type="hidden" id="startTime" name="startTime" value="">
    <input type="hidden" id="endTime" name="endTime" value="">
    <input type="hidden" id="username" name="username" value="杨">
    <input type="hidden" id="sup_name" name="sup_name" value="">
    <input type="hidden" id="phone" name="phone" value="">
    <input type="hidden" id="status" name="status" value="">
    <input type="hidden" id="proName" name="proName" value="">
    <input type="hidden" id="payMode" name="payMode" value="支付宝">
</form>

传递给如下后台

 @At
    @Ok("raw")
    @RequiresAuthentication
    @AdaptBy(type= JsonAdaptor.class)
    public Object exportExcel(@Param("orderCode")String orderCode,
                       @Param("username")String userName,
                       @Param("sup_name")String supName ,
                       @Param("startTime")String startTime,
                       @Param("endTime")String endTime,
                       @Param("phone")	String phone,
                       @Param("status")String status ,
                       @Param("proName")String proName,
                       @Param("payMode")String payMode,
                        HttpServletRequest request) {

参数取得的是乱码

9 回复

使用自己早的实体,其属性也是乱码

按照文章的方法检查了下

2017-02-15 08:25:21,764 org.nutz.dao.impl.DaoSupport$1.invoke(DaoSupport.java:201) DEBUG - JDBC URL    --> jdbc:mysql://host:3307/fa_prd_latest?useUnicode=true&characterEncoding=utf8
2017-02-15 08:25:21,779 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) DEBUG - Mysql : character_set_client=utf8
2017-02-15 08:25:21,779 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) DEBUG - Mysql : character_set_connection=utf8
2017-02-15 08:25:21,780 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) DEBUG - Mysql : character_set_database=utf8
2017-02-15 08:25:21,780 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) DEBUG - Mysql : character_set_filesystem=binary
2017-02-15 08:25:21,780 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) DEBUG - Mysql : character_set_results=
2017-02-15 08:25:21,781 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) DEBUG - Mysql : character_set_server=utf8
2017-02-15 08:25:21,781 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) DEBUG - Mysql : character_set_system=utf8

里面可不是单单指数据库

了解,其他都是utf-8. 同样的一个页面,我用ajax传递后台查询的时候,是能够正确传递的。 是用表单查询传参做下载的时候,就发生乱码

network中监听的时候看到确实传递的是正确的汉字,但是接受的时候就是乱码。

表单查询传参, 走了GET? 没走POST?

表单查询的时候是是用datatable传递到后台方法也是post

这个问题我放了好几天了
header如下,

Request URL:http://localhost:8080/private/manager/report/order/exportExcel
Request Headers
Provisional headers are shown
Content-Type:application/x-www-form-urlencoded
Origin:http://localhost:8080
Referer:http://localhost:8080/private/manager/report/order
Upgrade-Insecure-Requests:1
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36
Form Data
payMode:混合支付

添加回复
请先登陆
回到顶部