java web中的中文字符亂碼問題的解決

相信很多人都會有這個問題。

一:顯示出現中文亂碼的情況

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,那樣就和發送端的字符集編碼一樣了,在接收端接受到的漢字字符就會正常接受了。


三:可以寫一個方法,將字符集的轉換封裝進去,以後每次需要轉換的時候調用即可。猶豫相對於前的方法,這個方法有些麻煩,所以不再贅述。


這樣,漢字傳遞的問題基本上就解決了。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章