url转码(url传中文乱码)

本文介绍了如何使用JavaScript和Java实现URL的编码与解码操作,包括前后端的数据交互过程。JavaScript部分展示了如何获取输入框的值并进行两次编码处理,最终通过窗口定位到指定页面。Java部分则演示了如何从请求中获取参数并解码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方法1
js
let keyword1 = $("#soft_input").val();
let keyword2=encodeURI(keyword1);
let keyword = encodeURI(keyword2).trim();
window.location = "${contextPath}/theme/themeSoft/"+type+".html?keyword="+keyword;1


contorller
String keyword = request.getParameter(“keyword”); 

keyword = java.net.URLDecoder.decode(keyword, “utf-8”);


方法2
nickname = new String(nickname.getBytes("ISO-8859-1"), "utf-8");
### JSP 页面中文乱码解决方案 #### 设置字符集编码 为了防止JSP页面中的中文乱码,在JSP页面顶部应设置正确的字符集编码。通过`<%@ page %>`指令来定义页面的字符编码方式,确保浏览器能够正确解析页面内容[^1]。 ```jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> ``` 此配置使得服务器端处理该页面时按照指定编码读写数据,并告知客户端以相同编码展示网页内容。 #### 处理GET请求参数乱码 对于URL递过来的GET方法请求参数存在乱码的情况,可以在Web应用初始化阶段设置过滤器(Filter),拦截所有进入Servlet容器之前的数据流并调整其编码格式为UTF-8[^2]。 ```xml <!-- web.xml --> <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> ``` 这段XML片段展示了如何利用Spring框架下的CharacterEncodingFilter类实现全局性的字符编码转换操作。 #### 应对POST提交表单产生的乱码现象 当遇到POST方式发送含有汉字的信息至后台服务端造成乱码问题时,则需考虑在接收这些信息前先做一次重新编码的工作。通常是在接收到原始字节序列之后立即将它们解释回字符串形式的同时指明目标编码标准为UTF-8[^3]。 ```java request.setCharacterEncoding("UTF-8"); String paramValue = request.getParameter("parameterName"); ``` 上述代码段说明了怎样改变HttpServletRequest对象内部默认使用的字符集到期望值,从而保证后续获取到的参数能正常显示中文字符而不发生扭曲变形的现象。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值