java前台往后台传值乱码一般都怎么解决

java前台往后台传值乱码一般都怎么解决? java前台往后台传值乱码一般都怎么解决?

10个回答

楼上说的都很对,但如果还是不行的话,建议拼在链接里面的值全部处理一下,转成百分号形式的utf-8
前台:enStr = URLEncoder.encode(chiStr,"utf-8");
后台:chiStr = URLDecoder.decode(str, "utf-8");

设置获取参数的编码格式,如request.setCharacterEncoding("UTF-8");

某些情况下,你会发现你的response没有setCharacterEncodding方法,可以设置response.setContentType("text/html;charset=utf-8")

用拦截器统一过滤前端所有传输过去的数据,在过滤去里面统一设置编码。

request.setCharacterEncoding("utf-8");

这要根据前端页面发送请求的方式来进行处理
如果是post的请求,就用request.setCharacterEncoding("utf-8");
如果是get请求,稍微麻烦一点
1.将你获取的数据以ISO-8859-1格式解析成字节数组
byte[] name = request.getParameter("name").getBytes("ISO-8859-1");
2.再以UTF-8的字符格式还原成字符串
String newName = new String(name,"UTF-8" );
如果嫌麻烦就要去改tomcat的配置文件,百度一大堆。

request.setCharacterEncoding("utf-8");

response 和request都设置setCharacterEncoding("utf-8");,为了保险,放到doGet()或doPost()里面的开始

你用servlet的话 可以设置request和response的编码

可以写一个编码过滤器

可以在tomcat的server.xml中设置编码
可以在eclipse里面设置所有工作空间的编码

前台页面也需要设置编码
具体场景都会不同

request.setCharacterEncoding("utf-8");

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问