博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
url中文参数乱码问题
阅读量:5907 次
发布时间:2019-06-19

本文共 703 字,大约阅读时间需要 2 分钟。

  hot3.png

java Web开发中,request.getParameter()获取URL中文参数会发生乱码

原因:Http请求传输时将url以ISO-8859-1编码,服务器收到字节流后默认会以ISO-8859-1编码来解码成字符流(造成中文乱码)

解决办法:我们需要把request.getParameter(“参数名”)获取到的字符串先用ISO-8859-1编码成字节流,然后再将其用utf-8解码成字符流 (该方法已经过测试可行)

String str = new String(request.getParameter("参数名").getBytes("iso-8859-1"), "utf-8");

通过以上代码,现在得到的str为中文字符串;若java web要以“urf-8”编码请求其他服务器,则可以

String urf8str = URLEncoder.encode(str,"utf-8");

我们也可以通过Tomcat配置文件,设置URL编码集(URIEncoding)设置编码,这种方法也是一劳永逸的,

修改Tomcat/conf 目录下 server.xml (本方法未测试待测)

useBodyEncodingForURI参数表示是否用request.setCharacterEncoding参数对URL提交的数据和表单中GET方式提交的数据进行重新编码,在默认情况下,该参数为false。

URIEncoding参数指定对所有GET方式请求进行统一的重新编码(解码)的编码。

参考链接:

转载于:https://my.oschina.net/fltsp/blog/861573

你可能感兴趣的文章
爱尔兰投资发展局:争做下一代物联网技术领导者
查看>>
2016中国互联网+转型年度盛典 |30天后谁将现身广州塔
查看>>
隧道高清网络视频传输解决方案
查看>>
《Servlet和JSP学习指南》一1.3 编写基础的Servlet应用程序
查看>>
技术报告:APT组织Wekby利用DNS请求作为C&C设施
查看>>
抢先布局5G:联发科加入中国移动5G联合创新中心
查看>>
云服务鼻祖来告诉你99%的创业者不知道的事
查看>>
WFA发布LTE-U共存测试计划 Wi-Fi和LTE-U将公平共享频谱
查看>>
快递单信息泄露惊人 隐形面单能拯救你的隐私吗?
查看>>
移动“村务云”创新“互联网+无线政务”新方式
查看>>
麦肯锡最新调研:未来三年,AI将在哪些领域爆发?
查看>>
《深入理解Android:Telephony原理剖析与最佳实践》一1.2 Android系统架构
查看>>
大数据企业落户山西将获重金奖励
查看>>
两大顶尖漏洞利用工具包消失 老三“中微子”上位
查看>>
你知道数据中心宕机的真正成本吗?
查看>>
中国电信樊勇兵:ODCC加速产业开放式发展
查看>>
WannaCry勒索病毒再研究:攻击者的母语或是中文
查看>>
国都证券短信平台遭攻击 证券客户信息安全谁之责
查看>>
CYQ.Data 轻量数据层之路 bug反馈、优化建议、最新框架下载
查看>>
如何用移动应用评估来提高企业安全性?
查看>>