url中传递中文参数,接收时乱码怎么解决

baidu_25270477 2016-09-01 06:09:50
参数传递时url
<a class="btn btn-success"
href="${ctx}/biddingInfoManage/biddingInfo/download?startQueryDate=${biddingManagePageSeracher.startQueryDate }&endQueryDate=
${biddingManagePageSeracher.endQueryDate}&tenderer=${biddingManagePageSeracher.tenderer}"
>导出</a>

当获取到的参数biddingManagePageSeracher.tenderer为中文时,后台接收到的值为乱码

后台代码为:

@RequestMapping(value = "/download",method = {RequestMethod.GET, RequestMethod.POST })
public String downloadBiddingInfo(
HttpServletRequest request,HttpServletResponse response,
@RequestParam(value="startQueryDate",required=false) String startQueryDate,
@RequestParam(value="endQueryDate",required=false) String endQueryDate,
@RequestParam(value="tenderer",required=false) String tenderer
) throws UnsupportedEncodingException
{
BiddingManagePageSeracher biddingManagePageSeracher = new BiddingManagePageSeracher();

request.setCharacterEncoding("UTF-8");
tenderer=URLDecoder.decode(tenderer,"UTF-8");

biddingManagePageSeracher.setStartQueryDate(startQueryDate);
biddingManagePageSeracher.setEndQueryDate(endQueryDate);
biddingManagePageSeracher.setTenderer(tenderer);
System.out.println("--------------------------TENDERER"+biddingManagePageSeracher.getTenderer());
biddingInfoManager.ExportExcel(biddingManagePageSeracher, response);

return null;
}
求解决乱码的方法
...全文
731 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
baidu_25270477 2016-09-05
  • 打赏
  • 举报
回复
引用 5 楼 xiaofanku 的回复:
希望对你所帮助:http://bbs.csdn.net/topics/391842691?page=1
已经用getBytes解决,谢谢诸位
Atai-Lu 2016-09-02
  • 打赏
  • 举报
回复

	/**
	 * @param 待编码的字符串
	 * @return 编码
	 * */
	public static String urlEncode(String val, String charset) {
		try {
			return java.net.URLEncoder.encode(val, charset);
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
		return "";
	}
	public static String urlEncode(String val) {//重载
		return urlEncode(val, "utf-8");
	}
	/**
	 * @param 待解码的字符串
	 * @return 解码结果
	 * */
	public static String urlDecode(String val, String charset) {
		try {
			return java.net.URLDecoder.decode(val, charset);
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
		return "";
	}
	public static String urlDecode(String val) {
		return urlDecode(val, "utf-8");
	}
中文参数用urlEncode编码,获取的时候urlDecode解码
街头小贩 2016-09-02
  • 打赏
  • 举报
回复
街头小贩 2016-09-02
  • 打赏
  • 举报
回复
tomcat中的conf/server.xml <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/> http://tomcat.apache.org/tomcat-7.0-doc/config/http.html
Voscxx 2016-09-01
  • 打赏
  • 举报
回复
传的时候URL编码,后台URL解码
baidu_25270477 2016-09-01
  • 打赏
  • 举报
回复
引用 1 楼 slwsss 的回复:
http://blog.csdn.net/nofuyun/article/details/2075869
我这是把参数加载url中传递href="${ctx}/biddingInfoManage/biddingInfo/download?startQueryDate=${biddingManagePageSeracher.startQueryDate }&endQueryDate= ${biddingManagePageSeracher.endQueryDate}&tenderer=${biddingManagePageSeracher.tenderer}" tenderer的值为中文时,传到后台后是乱码

10,606

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 其他
社区管理员
  • 其他
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧