javaWeb各种乱码问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/toward_south/article/details/79593610

一 HTML乱码

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>

将 charset 和pageEncoding都改成utf-8

二 jsp乱码

<meta http-equiv="Content-Type" content="text/html; charset=gbk">

将 charset 和pageEncoding都改成utf-8 并且 这个的charset可以改成"gbk" 或者"utf-8”

三 在javaBean中乱码

方法 1:设置页面请求和回应的编码,可以通过request,response的setCharacterEncoding()方法指定字符编码格式。

代码如下: 

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%
	request.setCharacterEncoding("GB18030");
	response.setCharacterEncoding("GB18030");
%>
<html>

方法 2:直接在java类中指定字符编码格式

package hello;
 
import java.io.UnsupportedEncodingException;
 
public class CharSet {
    public CharSet() {
    }
 
    public String toString(String str){
        String message="";
        if(str!=null && !"".equals(str)){
            try {
                message = new String(str.getBytes("ISO-8859-1"),"UTF-8");
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }
        }
        return message;
    }
}

每次都要调用转化。

<tr> <td width=50%>姓名:</td> <td><%=charset.toString(student.getName())%></td></tr>
<tr> <td width=50%>年龄:</td> <td><%=charset.toString(student.getAge())%></td></tr>
<tr> <td width=50%>地址:</td> <td><%=charset.toString(student.getAddress())%></td> </tr>




猜你喜欢

转载自blog.csdn.net/toward_south/article/details/79593610