几种java乱码情况解决方法:
1、在servlet中获得通过get方式传递到服务器的数据时出现乱码;
public class registservlet extends httpservlet{ @override protected void doget(httpservletrequest req, httpservletresponse resp) throws servletexception, ioexception { string name = req.getparameter("username"); byte[] bytes = name.getbytes("iso8859-1"); string newname = new string(bytes,"utf-8"); } @override protected void dopost(httpservletrequest req, httpservletresponse resp) throws servletexception, ioexception { doget(req, resp); }}
解析:在doget方法中定义一个name变量获得封装在服务器的客户端数据username,然后将name以“iso8859-1”的方式赋值给字节数组bytes,最后将此bytes数组以utf-8的方式赋值给一个新创建的string变量newname,此时newname就是能正常显示的数据,之所以这么麻烦,是因为没有直接的办法一行代码解决,可以就当此方法为固定用法。
2、在servlet中获得通过post方式传递到服务器的数据时出现乱码;
public class registservlet extends httpservlet{ @override protected void doget(httpservletrequest req, httpservletresponse resp) throws servletexception, ioexception { //注意:post方式提交数据的乱码解决方式,放在getparamexxx方法之前 req.setcharacterencoding("utf-8"); //得到前台input框中name="username"和password="password"的value值 string username = req.getparameter("username"); string password = req.getparameter("password"); } @override protected void dopost(httpservletrequest req, httpservletresponse resp) throws servletexception, ioexception { doget(req, resp); }}
解析:post传递方式下解决乱码问题很简单,就req.setcharacterencoding(“utf-8”); 这一行代码,但需注意,要将这句话放在获取数据之前。
3、servlet通过服务器将数据响应到客户端时出现乱码;
public class registservlet extends httpservlet{ @override protected void doget(httpservletrequest req, httpservletresponse resp) throws servletexception, ioexception { //方式一: resp.setcontenttype("text/html;charset=utf-8"); //方式二: resp.setheader("content-type", "text/html"); resp.setcharacterencoding("utf-8"); } @override protected void dopost(httpservletrequest req, httpservletresponse resp) throws servletexception, ioexception { doget(req, resp); }}
解析:注意,以上两种方法在应用时要写在输出方法之前,另外,两种方式效果一样,因为方式一较简洁,常用方式一。
4、html或jsp页面在客户端展示时出现的乱码情况。
<head> <meta charset="utf-8"> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <title>form表单</title></head>
更多java知识请关注java基础教程栏目。
以上就是java几种乱码问题解决方法的详细内容。