java web中的中文字符乱码问题的解决

时间:2021-06-30 22:00:56

相信很多人都会有这个问题。

一:显示出现中文乱码的情况

1:在我们的jsp页面需要修改charset的值,如下:

<%@ page language="java" contentType="text/html; charset=utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>update page</title>
</head>

将其修改为:utf-8就没问题,当然pageEncoding可以去掉,若不去掉就将pageEncoding的值修改为和charset的值一样,我们会发现在head里面还会有一个

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

要么将其值修改为与charset的值一样,要么也直接删除。

2:在浏览器端,我们访问的时候应该将页面编码修改为utf-8,那样页面的汉字显示就会完全正常了。


二:在页面进行相互的传值过程中,难免会传递汉字,其中会出现乱码的情况

解决方法:1:在发送数据的jsp页面,将本页面的字符集编码设置为utf-8

    2:在接受数据的页面,一定要在接受数据之前,即request.getParameter("**")之前,加上request.setCharacterEncoding("utf-8");//作用就是

将request的字符集设置为utf-8,那样就和发送端的字符集编码一样了,在接收端接受到的汉字字符就会正常接受了。


三:可以写一个方法,将字符集的转换封装进去,以后每次需要转换的时候调用即可。犹豫相对于前的方法,这个方法有些麻烦,所以不再赘述。


这样,汉字传递的问题基本上就解决了。