encodeURIComponent编码java后台解码出现乱码问题
问题:JavaScript请求后台带着name参数,有中文进行编码:url?name=" + encodeURIComponent(name);java后台直接使用name或者name=java.net.URLDecoder.decode(name,"UTF-8")进行解码使用都是乱码。
解决方法一:
JavaScript:
window.location.href="/url?name="+encodeURIComponent(encodeURIComponent(name));
java:
name=java.net.URLDecoder.decode(name,"UTF-8");
为什么要两次编码的原因:后台java代码给searchtext赋值的时候,本身已经使用了一次解码,不过解码的结果依然不对。所以我们可以在页面上进行两次编码操作,这样后台自动的那次就可以抵消掉一次,然后在使用searchtext=java.net.URLDecoder.decode(searchtext,"UTF-8");进行一次解码就好了。
解决方法二:
另外还有一种方法是JavaScript进行一次编码,后台java处理时换种想法就好了:
java代码:
String name = new String(name.getBytes("ISO8859-1"), "UTF-8");
这个问题跟我之前的博客内容有些关联:https://www.cnblogs.com/caozx/p/9628576.html
encodeURIComponent编码java后台解码出现乱码问题的更多相关文章
- Js编码和Java后台解码
1.java.将resultMsg 转为utf-8 (1) resultMsg = URLEncoder.encode(resultMsg, "utf-8"); (2) new S ...
- Java-使用js进行编码,后台解码。
1:使用js编码 var value=window.encodeURI(window.encodeURI(strValue)); 2:Java类中解码. String str=URLDecoder.d ...
- java后台开发传输乱码&&接口post传参失败
起因: 前几天遇到的问题,才有时间记录,需求:本地生成xml形式的字符串以参数形式用post方法传送到对方的固定接口: 这个需求写的时候感觉很容易,本地测试的时候,也觉得很简单就过了,然后和对方联调的 ...
- JAVA-前台编码,后台解码
前台 var objValue =window.encodeURI(window.encodeURI(queryObj)); alert(objValue); 后台 String descStr = ...
- .net 前端gb2312编码,后台获取参数乱码(因为表单提交的时候是utf-8编码 则在后台读取参数时会出现乱码)
在表单中设置编码 ' accept-charset="utf-8" '即可: <form id="login_submit" action=" ...
- java后台获取参数乱码
String title = getParam("searchTitle"); title = new String(title.getBytes("iso8859-1& ...
- encodeURIComponent编码后java后台的解码 (AJAX中文解决方案)
encodeURIComponent编码后java后台的解码 (AJAX中文解决方案) 同学的毕业设计出现JavaScript用encodeURIComponentt编码后无法再后台解码的问题. 原来 ...
- encodeURIComponent编码后java后台的解码
解决方法一: JavaScript: window.self.location="searchbytext.action?searchtext="+encodeURICompone ...
- Base64 JAVA后台编码与JS前台解码(解决中文乱码问题)
中文通过Java后台进行Base64编码后传到前台,通过JS进行Base64解码时会出现中文乱码的问题,被这个问题也是困扰了几天,使用jquery.base64.js只能转码非中文字符,经过搜集各种方 ...
随机推荐
- overflow onclick ondblclick 练习
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- windows下安装Python-Whl文件
原文链接:http://blog.sciencenet.cn/home.php?mod=space&uid=1181151&do=blog&id=865515 Note1. 整 ...
- 《计算机图形学基础(OpenGL版)》勘误表
第1版第1次印刷: 所在页码 所在行 原内容 更正为 41 16 k=Δx/Δy k=Δy/Δx 46 6 s-t=2Δy/Δx(xi+1)+2b+2yi-1 s-t=2Δy/Δx(xi+1)+2b- ...
- webSphere
WebSphere 是 IBM 的软件平台.它包含了编写.运行和监视全天候的工业强度的随需应变 Web 应用程序和跨平台.跨产品解决方案所需要的整个中间件基础设施,如服务器.服务和工具.WebSphe ...
- Python—字符串+变量
字符串转义字符格式化内建函数(后延)转义字符用一个特殊的方法表示出一系列不方便写出的内容,比如回车键,换行键,退格键借助反斜杠字符,一旦字符串中出现反斜杠,则反斜杠后面一个火几个字符表示已经不是原来的 ...
- XX-Net的完整教程
1.下载谷歌浏览器,安装. 2.百度搜索github,github中搜索XX-Net,下载稳定版 3.解压缩下载的文件夹,运行start.vbs文件.如果弹出管理员请求权限请允许,弹出防火墙警告,请允 ...
- apk下载的网址生成一个二维码
apk提供二维码扫描下载,其实就是把apk所在的地址生成二维码. 下面提供一个在线二维码生成网址,http://cli.im/text/1833744?iID7V
- 使用VirtualBox实现端口转发,以SSH与Django为例
先来认识几个概念 (1)IP地址:又称为互联网协议地址,是计算机的物理地址,相当于计算机的编号,是32位的二进制数,通常被分割成4个8位的二进制数: (2)端口:指设备与外界通讯的接口,一台计算机的端 ...
- windows环境下用pip安装pyautogui遇到的几个问题
1.不能直接使用win+r运行cmd并使用pip,必须点击开始->windows系统->命令提示符,右键->以管理员身份运行 2.运行pip install pyautogui后提示 ...
- (转载)关于初学者上传文件到github的方法
说来也惭愧,我是最近开始用github,小白一个,昨天研究了一个下午.终于可以上传了,所以今天写点,一来分享是自己的一些经验,二来也是做个记录,万一哪天又不记得了:) 废话不多说,直接来,这次主要介绍 ...