北京北大青鳥校區:JSP中文亂碼問題綜述(3)

      北京北大青鳥校區學術部提供:

      擴展閱讀:JSP中文亂碼問題綜述(2)

      3,表單get提交方式的亂碼處理方式。
      如果使用get方式提交中文,接受參數的頁面也會出現亂碼,這個亂碼的原因也是tomcat的內部編碼格式iso8859-1導致。Tomcat會以get的缺省編碼方式iso8859-1對漢字進行編碼,編碼后追加到url,導致接受頁面得到的參數為亂碼/。

      北京北大青鳥校區老師提供解決辦法:
      A,使用上例中的第一種方式,對接受到的字符進行解碼,再轉碼。
      B,Get走的是url提交,而在進入url之前已經進行了iso8859-1的編碼處理。要想影響這個編碼則需要在server.xml的Connector節點增加useBodyEncodingForURI=true
      屬性配置,即可控制tomcat對get方式的漢字編碼方式,上面這個屬性控制get提交也是用 request.setCharacterEncoding(UTF-8)所設置的編碼格式進行編碼。所以自動編碼為utf-8,接受頁面正常接受就可以了。但我認為真正的編碼過程是,tomcat又要根據
      <Connector port=8080
      maxThreads=150 minSpareThreads=25 maxSpareThreads=75
      enableLookups=false redirectPort=8443 acceptCount=100
      debug=0 connectionTimeout=20000 useBodyEncodingForURI=true
      disableUploadTimeout=true URIEncoding=”UTF-8”/>
      里面所設置的URIEncoding=”UTF-8”再進行一次編碼,但是由于已經編碼為utf-8,再編碼也不會有變化了。如果是從url獲取編碼,接受頁面則是根據URIEncoding=”UTF-8”來進行解碼的。

      4,上傳文件時的亂碼解決
      上傳文件時,form表單設置的都是enctype=multipart/form-data。這種方式以流方式提交文件。如果使用apach的上傳組件,會發現有很多亂碼現象。這是因為apach的先期commons-fileupload.jar有bug,取出漢字后進行解碼,因為這種方式提交,編碼又自動使用的是tomcat缺省編碼格式iso-8859-1。但出現的亂碼問題是:句號,逗號,等特殊符號變成了亂碼,漢字如果數量為奇數,則會出現亂碼,偶數則解析正常。

      解決方式: 下載commons-fileupload-1.1.1.jar 這個版本的jar已經解決了這些bug。但是取出內容時仍然需要對取出的字符進行從iso8859-1到utf-8轉碼。已經能得到正常所有漢字以及字符。(北京北大青鳥校區,未完)

      北大青鳥網上報名
      北大青鳥招生簡章
      主站蜘蛛池模板: 亚洲熟女乱色一区二区三区| 无码人妻精品一区二区三区9厂| 在线视频一区二区三区四区| 亚洲综合av永久无码精品一区二区 | 伊人色综合视频一区二区三区| 波多野结衣电影区一区二区三区| 日韩一区二区在线观看视频| 人妻少妇一区二区三区| 国产视频一区二区在线观看| 国产日韩精品视频一区二区三区| 国产精品va无码一区二区| 国产一区三区三区| 国产精品一区二区av不卡| asmr国产一区在线| 国产伦精品一区二区免费 | 国产中文字幕一区| 天堂一区二区三区精品| 在线一区二区观看| 日本一区免费电影| 国产一区二区三区在线看片| 国产成人免费一区二区三区| 日本高清天码一区在线播放| 国产视频一区在线播放| 一区二区三区免费在线视频| 精品视频在线观看一区二区| 一本色道久久综合一区| 中文乱码精品一区二区三区 | 国模大胆一区二区三区| 午夜在线视频一区二区三区| 最新中文字幕一区| 免费视频精品一区二区| 福利视频一区二区牛牛| 日本一区二区三区高清| 色老头在线一区二区三区| 91精品福利一区二区| 濑亚美莉在线视频一区| 久久久人妻精品无码一区| 亚洲国产综合无码一区| 久久精品一区二区三区AV| 在线精品自拍亚洲第一区| 国产激情精品一区二区三区|