解决中文乱码

来源:互联网 发布:电脑管家 激活windows 编辑:程序博客网 时间:2024/06/08 06:56

解决中文乱码问题

 解决request的中文乱码问题:有三种方式
  三种方式最常用的方式是:第一种和第二种方式结合起来使用
  注意:一定要修改        req.setCharacterEncoding("UTF-8");   
         server.xml中修改编码:URIEncoding="UTF-8" 

public class TestHttpServlet extends HttpServlet {/** *  解决request的中文乱码问题:有三种方式 *  三种方式最常用的方式是:第一种和第二种方式结合起来使用 *  注意:一定要修改   req.setCharacterEncoding("UTF-8");    *      server.xml中修改编码:URIEncoding="UTF-8"  *   * */@Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//第一种解决乱码问题:设置请求对象解码为UTF-8, 只支持post,不支持getreq.setCharacterEncoding("UTF-8");//String getParameter(String name): 获取用户在页面中填写的信息.String name1 = req.getParameter("name");System.out.println(name1);//第二种解决乱码问题:在server.xml中修改编码:URIEncoding="UTF-8" 只支持GET,不支持POSTString hobby = req.getParameter("hobby");System.out.println(hobby);//第三种解决乱码问题:get和post都支持String name2 = req.getParameter("name");//将原来的默认编码给转成二进制byte[] nameBytes = name2.getBytes("ISO-8859-1");//再通过UTF-8的编码把这个数据转成相应的字符串String str = new String(nameBytes,"UTF-8");System.out.println(str);}}
login.html 文件
<body><form action="/servlet/hello" method="get">用户名:<input type="text" name="name"> <br>年 纪:<input type="text" name="age"> <br>爱 好:<input type="checkbox" name="hobby" value="1"> 篮球  <input type="checkbox" name="hobby" value="2"> 足球  <input type="checkbox" name="hobby" value="3"> 棒球  <br><input type="submit" value="提交"></form></body>




原创粉丝点击