url中文参数乱码问题
1、问题:
web项目里url的中文参数乱码
2、解决:
(1)前台:encodeURI(encodeURI(code)) (2)后台:URLDecoder.decode(new String(code.getBytes("iso-8859-1"),"utf-8"), "utf-8")
3、疑问:
(1)为什么前台需要编码两次?
因为request.getParameter(String)会进行一次URI的解码过程,调用内置的解码过程会导致乱码
而编码两次可以保证内置的解码过程执行后的结果是编码一次的结果(如果直接是中文会导致无法显示而乱码)
(2)后台为什么要首先以[iso-8859-1]读一次编码?
tomcat7的默认编码是[iso-8859-1],tomcat8的默认编码是[utf-8]
需要以[iso-8859-1]读取字节码,再以[utf-8]构造成子串,再使用[utf-8]解码一次,即可得到中文在程序里使用
4、扩展:
其它方法:(没有试验)
(1)根据tomcat的版本不同可以设置tomcat安装目录下的[conf/server.cml]文件的connector配置
(2)在程序重写获取参数的方法
5、参考文章
encodeURI(encodeURI(code))
url出现中文乱码
js/java 页面url传值中文编码&解码问题
我从不相信什么懒洋洋的自由,
我向往的自由是通过勤奋和努力实现更广阔的人生,那样的自由才是珍贵的、有价值的。
我相信一万小时定律,我从来不相信天上掉馅饼的灵感和坐等的成就。
做一个自由又自律的人,靠势必实现的决心认真地活着。
我向往的自由是通过勤奋和努力实现更广阔的人生,那样的自由才是珍贵的、有价值的。
我相信一万小时定律,我从来不相信天上掉馅饼的灵感和坐等的成就。
做一个自由又自律的人,靠势必实现的决心认真地活着。
[山本耀司]
本文转载请注明出处
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
2018-01-30 银行业务-Excel文件的拆分逻辑