关于JSP的问题,我用request对象接受中文的全是乱码
答案:3 悬赏:0 手机版
解决时间 2021-11-14 16:43
- 提问者网友:蓝琪梦莎
- 2021-11-13 23:40
关于JSP的问题,我用request对象接受中文的全是乱码
最佳答案
- 五星知识达人网友:玩家
- 2021-11-14 00:38
看一下页面的编码,如果是utf-8
那么写成
String username = new String(request.getParameter("username").getBytes("iso-8859-1"), "utf-8");追问可以,不过能跟我讲讲为什么吗?追答普通情况下,中文字符会被自动转换成iso-8859-1的编码格式通过网络传输,而这种格式是没办法直接表示出我们认识的中文字符的,所以还要手动将他转换回之前的字符集。
一般在servlet或者action之前加一个字符过滤器就可以解决这个问题了。过滤器可以自己写,也可以直接在网上找。
那么写成
String username = new String(request.getParameter("username").getBytes("iso-8859-1"), "utf-8");追问可以,不过能跟我讲讲为什么吗?追答普通情况下,中文字符会被自动转换成iso-8859-1的编码格式通过网络传输,而这种格式是没办法直接表示出我们认识的中文字符的,所以还要手动将他转换回之前的字符集。
一般在servlet或者action之前加一个字符过滤器就可以解决这个问题了。过滤器可以自己写,也可以直接在网上找。
全部回答
- 1楼网友:污到你湿
- 2021-11-14 03:09
1.页面编码统一GBK
<%@ page language="java" pageEncoding="GBK"%>
2.request.setCharactEncoding("GBK");
response.setContentType("text/html;charset=GBK");
<%@ page language="java" pageEncoding="GBK"%>
2.request.setCharactEncoding("GBK");
response.setContentType("text/html;charset=GBK");
- 2楼网友:醉吻情书
- 2021-11-14 01:30
添加下面代码:
username = new String(username.getBytes("iso-8859-1"),"utf-8");
这样看看行不行
username = new String(username.getBytes("iso-8859-1"),"utf-8");
这样看看行不行
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯