熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java開源技術 >> 正文

J2EE WEB-Tomcat5.5.9中文問題解決方案

2022-06-13   來源: Java開源技術 

  html
  
  無論是獨立的html還是其他程序生成的如Servlet等注意在最終的html的<head>和</head>之間必須加入meta標簽用來指定html中輸入字符的編碼
  
  <head>
  <meta httpequiv=ContentType content=text/html; charset=gb>
  <title>測試GET && POSTSend</title>
  </head>
  
  jsp和servlet
  
  首先必須解決程序輸出(如responsewriteln(String s))和接受從客戶端傳來的數據(如requestgetParameter(String sname))編碼問題我們可以利用文件過濾功能具體需要所用的jsp/servlet容器或者服務器提供的功能設置如在Tomcat中可以在webapps/yourAppDirectory/WEBINF/webxml中設置如下
  
  <filter>
  <filtername>SetCharsetEncodingFilter</filtername>
  <displayname>SetCharsetEncodingFilter</displayname>
  <description>Set CharsetEncoding Filter</description>
  <filterclass>mwebSetCharsetEncodingFilter</filterclass>
  <initparam>
  <paramname>encoding</paramname>
  <paramvalue>gb</paramvalue>
  </initparam>
  </filter>
  <filtermapping>
  <filtername>SetCharsetEncodingFilter</filtername>
  <urlpattern>/*</urlpattern>
  </filtermapping>
  
  其中SetCharsetEncodingFilter Class就是用來設置request和reponse字符編碼的filter類其中設置語句如下
  
  requestsetCharacterEncoding(targetEncoding);
  responsesetContentType(text/html);
  responsesetCharacterEncoding(targetEncoding);
  
  另外為了解決通過get(url中帶有參數)方式傳遞參數的亂碼問題我們還需要設置一下url傳遞參數所需要的編碼具體在Tomcat中可以在${Tomcat_home}\conf\serverxml中的<connector>和</connector>之間設置如下
  
  <!
  URIEncoding=GBK:Force GET method String(Chinese) can be transferd properly uri
  
  note:Tomcat only support GBK specificationso not set charset gb
  >
  <Connector URIEncoding=GBK port= redirectPort= maxSpareThreads=  maxThreads= minSpareThreads=>
  </Connector>
  
  最後為了解決jsp的亂碼問題我們還需要作如下處理即在左右的jsp頭均加上如下指令
  
  <%@ page contentType=text/html;charset=gb language=java %>
  或者
  <%@ page pageEncoding=gb%>
  
  jdbc和數據庫
  
  關於寫入數據庫和讀取數據庫數據的亂碼問題可以通過如下方式輕松解決
  
  對於JAVA程序的處理方法按我們指定的方法處理
  把數據庫默認支持的編碼格式改為GBK或GB
  到此一般來說對於WEB方式的應用來說中文問題就可以解決了當然以上方法是根據統一編碼的原則解決的以及WEB方式的文件轉換關系(file>class>load>execute or transfered or response or request)來做的
From:http://tw.wingwit.com/Article/program/Java/ky/201311/28538.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.