版权声明:本文为博主原创文章,未经博主允许不得转载。 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>