前几天发现使用request.getPragrmber()方法获取中文参数出现乱码,后发现没有添加request.setCharacterEncoding("gb2312")语句,奇怪的是加入该语句后获取的参数仍然是乱码。经过本人数次实验得出request.setCharacterEncoding("gb2312")必须放在页面的头部,可以放在<jsp:useBean
class="className" scope="page|request|session|application" />后面,但不能放在<jsp:setProperty property="propertyName" param="paramName" />后面,否则字符转换失效。个人觉得在使用request.setCharacterEncoding("gb2312")之前,不能用request获取参数。
附带说明
request.setCharacterEncoding("gb2312")
此行代码必须写在最前面,如果在此前进行任何request.getPragrmber()方法都会使字符转换失效!
必须要在读取request的getParameter()和 getReader() 方法之前调用 否则字符转换失效
本文详细解释了在处理包含中文参数的HTTP请求时,如何正确使用request.setCharacterEncoding(gb2312)避免乱码问题。强调了此操作必须放在特定位置才能确保字符转换的有效性。
609

被折叠的 条评论
为什么被折叠?



