黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

Tomcat亂碼全解決

系統(tǒng) 2313 0

轉(zhuǎn)自: http://hpi-ls.blog.163.com/blog/static/20214748201022295532305/

前言:

使用Tomcat進(jìn)行JSP開發(fā)最頭疼的莫過(guò)于中文亂碼問題了,總結(jié)Tomcat亂碼問題出現(xiàn)的原因必須明白以下幾點(diǎn):

內(nèi)容:

1. Tomcat一般總是默認(rèn)使用ISO-8859-1作為字符編碼方式的。所以,除非你在Servlet中使用了 request.setCharacterEncoding("編碼方式");指定了特殊的編碼方式,否則Tomcat默認(rèn)使用ISO-8859-1的編碼方式。

2. 在JSP頁(yè)面中pageEncoding和charset和含義是不同的。pageEncoding是指頁(yè)面的編碼格式(請(qǐng)記住!,十分重要~,與顯示無(wú)關(guān)),也就是說(shuō)無(wú)論你JSP里的pageEncoding采用什么方式,如果出現(xiàn)中文亂碼,原因不在于pageEncoding的所指定的編碼方式不對(duì),而在于charset的屬性不對(duì)。charset是負(fù)責(zé)JSP頁(yè)面中的字符按什么編碼方式顯示。pageEncoding只負(fù)責(zé)頁(yè)面的編碼格式,而后 JAVA虛擬機(jī)負(fù)責(zé)按照pageEncoding指定的編碼轉(zhuǎn)換成Unicode編碼的字節(jié)碼文件。(也就是說(shuō),無(wú)論你pageEncoding指定什么方式,最終都是轉(zhuǎn)換成了Unicode編碼。)另外請(qǐng)大家注意,如果從客戶端提交的用戶請(qǐng)求里的中文也是使用pageEncoding方式編碼的。也就是說(shuō),在Servlet中request.getParameter("參數(shù)");Tomcat默認(rèn)是使用ISO-8859-1方式去讀取的,但實(shí)際里面的字符編碼方式應(yīng)該是JSP頁(yè)面pageEncoding所指定的方式。除非用戶自己加上request.setCharacterEncoding("編碼方式");

3.? 明白pageEncoding和charset之間的關(guān)系。一般而言,如果頁(yè)面里指定了pageEncoding的方式也就是說(shuō),比如:

<%@ page language="java" import="java.util.*" pageEncoding="GBK" %> 這句話,而沒有指定charset的話,那么頁(yè)面默認(rèn)是按照charset=ISO-8859-1編碼方式顯示字符,按照 pageEncoding="GBK"方式進(jìn)行頁(yè)面的編碼。如果你的JSP頁(yè)面里面沒有指定pageEncoding方式,而只是說(shuō)明了charset的話,比如:

<%@ page contentType="text/html;charset=utf-8"%> 這句話,那么JSP默認(rèn)是按照pageEncoding="utf-8"進(jìn)行頁(yè)面編碼的,字符集按照charset=utf-8"顯示。

?

4. 使用request.setCharacterEncoding("編碼方式");

注意: request.setCharacterEncoding()僅僅對(duì)POST提交方式起作用,對(duì)于GET方式提交還是會(huì)出現(xiàn)亂碼問題 要解決GET 提交中文的亂碼問題,可以在Server.xml 的<Connector port="8888" protocol="HTTP/1.1"
?????????????? connectionTimeout="20000"
?????????????? redirectPort="8443" />

加入: URIEncoding="utf-8" useBodyEncodingForURI="true"

另外, request.setCharacterEncoding()這句話一定要放在要讀取的第一參數(shù)之前調(diào)用。否則也不起作用了!!

5. 也可以創(chuàng)建一個(gè)filter來(lái)對(duì)編碼進(jìn)行轉(zhuǎn)換 ,但filter也只對(duì)post提交方式起作用,對(duì)get無(wú)能為力。URIEncoding對(duì)post不起作用。

?

Tomcat亂碼全解決


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論