???????????????????????????Servlet及JSP解決中文亂碼問(wèn)題

????????????????????????????????? 這篇是我們老師給我們的文檔內(nèi)容,他的博客里有寫(xiě)了這個(gè)內(nèi)容,他的博客:

?

??? 關(guān)于中文亂碼問(wèn)題是我們?cè)谧鲰?xiàng)目主要是Web項(xiàng)目時(shí)相當(dāng)頭疼的問(wèn)題,在此我就簡(jiǎn)單的說(shuō)一下如何解決在做Web項(xiàng)目解決中文亂碼問(wèn)題。按照下面的編號(hào)解決頁(yè)面亂碼需要6步,解決Servlet亂碼只需前5步即可。

?

?

?1.創(chuàng)建數(shù)據(jù)庫(kù)時(shí)啟動(dòng)mysql使用參數(shù)

?????? mysql -uroot -p? --default-character-set utf8

?2.創(chuàng)建數(shù)據(jù)庫(kù)

?????? create database xxx default character set utf8;

?????? 執(zhí)行sal腳本

?????? source D:\ xxx.sql

?3.修改mysql 數(shù)據(jù)庫(kù)連接url

?????? jdbc:mysql://localhost:3306/smile?useUnicode=true&characterEncoding=utf8

?????? hibernate配置文件當(dāng)中為jdbc:mysql://localhost:3306/smile?characterEncoding=utf8

?4.提交時(shí)使用post提交

?????? <form action="xxx. action " method="post">

?5.使用過(guò)濾器filter

?????? reqeust.setCharacterEncoding("utf8");

?

6.jsp頁(yè)面設(shè)置字符集?????? <%@page contentType="text/html;charset=utf8" %>

??????

?? 注意:只要按照以上步驟來(lái)設(shè)置編碼你的項(xiàng)目里面就不會(huì)出現(xiàn)中文亂碼問(wèn)題。但是如果你想用控制臺(tái)來(lái)查看數(shù)據(jù)庫(kù)里面的數(shù)據(jù)這時(shí)候你看到還是出現(xiàn)了亂碼,但這只是查詢(xún)所顯示的結(jié)果是亂碼,數(shù)據(jù)庫(kù)里面存的并非亂碼,此時(shí)你只需要在查詢(xún)前使用下面這個(gè)命令就能解決這個(gè)問(wèn)題:set character_set_results='gbk',這個(gè)問(wèn)題也只是在Windows平臺(tái)下才會(huì)出現(xiàn)Unix、Linux下不會(huì)出現(xiàn)這個(gè)問(wèn)題,因?yàn)樵?/span>Unix、Linux平臺(tái)下控制臺(tái)默認(rèn)的顯示編碼都是utf8。