sErvlEt 中out.println("用户名可用")转向jsp页面变成乱码

编码格式错了 全部都是GBK 或是全部都是UTF-8 ==== servlet中用request.setCharacterEncoding("utf-8"); 页面头部用<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> 如果你用的不是utf-8 就把utf-8的地方替换掉

你看看你的form表单里面method是不是用的get方法 get方法不支持中文的 如果是get 你改成post 其他地方不用动 你先试试 如果不行 你再把问题贴出来 我又来补充一下 你看看action里面的属性里面有没有把method写出来 如果没有写出来 这个时候就是默认的get 你就改成post方式提交

这个不仅是文件编码编译格式utf-8的问题,还与Windows系统的默认编码格式不一致有关,如果只是针对控制台而言解决乱码问题,只需使用javac -encoding utf-8 xxxxx.java编译java文件即可

您好 楼主 如果觉得有用的话 给个采纳吧 您先去看看系统的jdk用的是什么编码然后 Properties pro=System.getProperties(); System.out.println(pro.getProperty("file.encoding")); 如果不是需要的,则这样 pro.setProperty("file.encoding","utf-8"); 在控制面板里面修改区域设定和字符集设定 然后重新启动下电脑就好啦 希望能帮到您

这个问题我以前遇到:1、就是页面请求的方式是get方式的就会乱码,用post的方式就没这个问题.2、还有就是设置web.xml里面如果配置了过滤器也要设置相应的编码,3、将服务器的编码方式设置成相应的方式.4、页面的编码要和后台java文件的编码的相同如果你实在要使用get方式请求,建议你将中文先使用URLEncoder的encode方法转换两次传到后台然后再使用URLDecoder.decode解码两次就会得到你想要的传过来的信息.

把pageEncoding="utf-8"改为gbk 再试试

乱码问题很复杂,原因也有很多!首先String name = request.getParameter("name");这样获取的name如果是一个非utf8编码方式提交的数据那么name就已经是乱码,页面文件ContentType属性指定的编码方式如果是utf-8那么这个文件的编码

可以用这种形式解决,String str = new String(request.getAttribute("name").getByte("ISO-8859-1"),"GBK")

response.setCharacterEncoding("gbk ");GBK后面有个空格;一定要把response.setCharacterEncoding放在PrintWriter out=response.getWriter();之前调用,不过你这是对的!呵呵

UTF-8

相关文档

电脑版