当前位置: 首页 > news >正文

JAVA 中URL链接中文参数乱码的处理方法

JAVA 中URL链接中文参数乱码的若干处理方法,现在整理收录如下:

方法一:

http://xxx.do?ptname='我是中国人'

String strPtname = request.getParameter("ptname");

strPtname = new String(strPtname.getBytes("ISO-8859-1"), "UTF-8");

方法二:

<%@ page contentType="text/html;charset=gb2312" %>

<a href="ds.jsp?url=<%=java.net.URLEncoder.encode("编码的是这里","GB2312")%>">点击这里</a>

<%

//request.setCharacterEncoding("GBK");

if(request.getParameter("url")!=null)

{

str=request.getParameter("url");

str=java.net.URLDecoder.decode(str,"GB2312");

str=new String(str.getBytes("ISO-8859-1"));

out.print(str);

}

%>

==================================

public String chinatoString(String str)

{

String s=str;

try

{

byte tempB[]=s.getBytes("ISO-8859-1");

s=new String(tempB);

return s;

}

catch(Exception e)

{

return s;

}

}

====================================================

function URLencode(sStr)

{

return escape(sStr).

replace(/\+/g, '%2B').

replace(/\"/g,'%22').

replace(/\'/g, '%27').

replace(/\//g,'%2F');

}

方法三:

如果用jstl的话,可以自己写一个el的function,调用URLEncoder.encode来编码。

IE缺省对URL后面的参数是不编码发送的,但是tomat缺省是按ISO8859-1来进行URL解码,因此才会出现上述错误。好的做法是:

1、在URL参数中确保用UTF-8编码之,方法可以用js函数encodeURI(),或调用自定义的el function;

2、设置server.xml中的Connector熟悉URIEncoding="UTF-8",确保解码格式与编码格式统一;

方法四:

<script>

for(var i=0;i<document.links.length;i++){

document.links[i].href=encodeURI(document.links[i].href);

}

</script>

在action中,String s=request.getParameter("s");

s=new String(s.getBytes("iso-8859-1"),"gbk");

以上方法是收聚了一些网友所讲的解决方法 。

相关文章:

  • 宝乐机器人集团作_「驰众机器人|情报」秦川集团起草的《机器人用精密摆线齿轮减速器》标准获发布...
  • java读取xml文件操作
  • 5ecsgo启动失败2错误代码2_Spring Boot 2.2 增加了一个新功能,启动飞起~
  • 现代科技概论_现代科技概论课程:力与运动3
  • 负载均衡技术全攻略
  • opencv图像分割python毕业设计_python用opencv完成图像分割并进行目标物的提取
  • SOA将使C++在2008年重现活力
  • 邮件合并保存为一个个单独的文档_巧用WPS“邮件合并”功能,让工作更加高效...
  • CIO构建网络整体安全解决方案
  • 微信小程序超级占内存_实测:微信小程序占多少内存?或许真没有你想象的那么“小”!...
  • 创新与价值
  • matlab如何求指标的权向量_层次分析法中,求出矩阵最大特征值对应的特征向量,再分别平方就是权向量么用matl......
  • js微信抢红包脚本代码_JavaScript语言基于AutoJs简易微信抢红包参考大佬修改
  • 冬天有点冰
  • pandas已知数值怎么找位置_pandas.dataframe中根据条件获取元素所在的位置方法(索引)...
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • 2017前端实习生面试总结
  • CentOS 7 修改主机名
  • ESLint简单操作
  • Java超时控制的实现
  • JS 面试题总结
  • win10下安装mysql5.7
  • 从零开始在ubuntu上搭建node开发环境
  • 精彩代码 vue.js
  • 警报:线上事故之CountDownLatch的威力
  • 开源SQL-on-Hadoop系统一览
  • 使用API自动生成工具优化前端工作流
  • 智能网联汽车信息安全
  • Prometheus VS InfluxDB
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • (31)对象的克隆
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (libusb) usb口自动刷新
  • (zhuan) 一些RL的文献(及笔记)
  • (力扣)1314.矩阵区域和
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (七)c52学习之旅-中断
  • (十二)python网络爬虫(理论+实战)——实战:使用BeautfulSoup解析baidu热搜新闻数据
  • (四)docker:为mysql和java jar运行环境创建同一网络,容器互联
  • (幽默漫画)有个程序员老公,是怎样的体验?
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • .NET:自动将请求参数绑定到ASPX、ASHX和MVC(菜鸟必看)
  • .project文件
  • ??如何把JavaScript脚本中的参数传到java代码段中
  • [android] 请求码和结果码的作用
  • [bzoj1901]: Zju2112 Dynamic Rankings
  • [C#基础知识]专题十三:全面解析对象集合初始化器、匿名类型和隐式类型
  • [C++] 统计程序耗时
  • [CF494C]Helping People
  • [corCTF 2022] CoRJail: From Null Byte Overflow To Docker Escape
  • [go 反射] 进阶
  • [IE编程] IE 是如何决定Accept-Language 属性的
  • [IE编程] 了解Urlmon.dll和Wininet.dll
  • [IE技巧] 使IE8以单进程的模式运行
  • [KMP求最小循环节][HDU1358][Period]