前台中文请求 如何解决乱码问题

js ajax 用decodeURI() 函数可对 encodeURI() 函数编码过的 URI 进行解码。
function searchData(){
$.ajax({
url : “queryCountCommodity”,
dataType : “json”,
traditional : true,
method : “post”,
contentType : ‘application/json’,
data : decodeURI(JSON.stringify({
“pageNo” : 1,
“pageSize” : 10,
“customname” : $("#customnameId").val(), //这个是中文
“disposalNumber” : $("#disposalNumberId").val(),
“finalState” : $("#finalStateId").val(),
“startTime” : $("#startTimeId").val(),
“endTime” : $("#endTimeId").val()
})),
success:function(data){
if (data != null) {
$("#commodityDataGrid").bootstrapTable(‘load’,data);
}
},
errror:function(){

    }
});

}

后台 接收 转为json对象 然后

//初始化/检索
@RequestMapping(value="/queryCountCommodity",method = RequestMethod.POST)
@ResponseBody
public Map<String, Object> queryCountCommodity(@RequestBody String param,
HttpServletRequest req) {
Management queryParams = new Management();//创建表的实例
Map<String, Object> map = new HashMap<>();//创建结果map
List commodityList =null;
List listH = null;
List listH1 = null;
int total = 0;
try {

		param=URLDecoder.decode(param,"utf-8");//解码参数
		JSONObject jsoncond = JSONObject.fromObject(param);//将参数字符串转为JSON对象	
		CommoditySpecificVO commoditySpecificVO = (CommoditySpecificVO)JSONObject.toBean(jsoncond, CommoditySpecificVO.class);//给参数实体赋值
		//如果主管海关是中文
		if (StringUtil.isNotEmpty(commoditySpecificVO.getCustomname())){
			total = commoditySpecificDeclarationMapper.queryCountStatistics(commoditySpecificVO);
			//是否未中文
			if(ParamIsChinese.isChinese(commoditySpecificVO.getCustomname())){
				commoditySpecificVO.setPageIndex(Integer.parseInt(commoditySpecificVO.getPageNo()));
				commoditySpecificVO.setPageSize1(Integer.parseInt(commoditySpecificVO.getPageSize()));
				commodityList = commoditySpecificDeclarationMapper.queryPageChinaStatistics(commoditySpecificVO);
			} 
			//是否包含中文
			else if(ParamIsChinese.isContainChinese(commoditySpecificVO.getCustomname())){
				commoditySpecificVO.setCustomname(commoditySpecificVO.getCustomname().substring(0,4));
				commoditySpecificVO.setPageIndex(Integer.parseInt(commoditySpecificVO.getPageNo()));
				commoditySpecificVO.setPageSize1(Integer.parseInt(commoditySpecificVO.getPageSize()));
				commodityList = commoditySpecificDeclarationMapper.queryPageStatistics(commoditySpecificVO);
			}else{
				commoditySpecificVO.setPageIndex(Integer.parseInt(commoditySpecificVO.getPageNo()));
				commoditySpecificVO.setPageSize1(Integer.parseInt(commoditySpecificVO.getPageSize()));
				commodityList = commoditySpecificDeclarationMapper.queryPageStatistics(commoditySpecificVO);
			}
		}else{
			total = commoditySpecificDeclarationMapper.queryCountStatistics(commoditySpecificVO);
			commoditySpecificVO.setPageIndex(Integer.parseInt(commoditySpecificVO.getPageNo()));
			commoditySpecificVO.setPageSize1(Integer.parseInt(commoditySpecificVO.getPageSize()));
			commodityList = commoditySpecificDeclarationMapper.queryStatistics(commoditySpecificVO);
		}
		
		listH1 = convertCommodityList(commodityList);
			
		map.put("rows", 	listH1	);
		map.put("total", 	total);	
	} catch (Exception e) {
		e.printStackTrace();
	}		
	return map;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值