Tomcat+Jsp環(huán)境下的中文問題
更新時間:2006年10月13日 00:00:00 作者:
摘要:關(guān)于Java應用在處理中文時所存在問題的討論已經(jīng)相當多了,與大部分的討論不同,本文將從漢字字符的輸入和輸出的角度來討論Java語言處理中文時所存在的問題。
盡管關(guān)于Java在處理中文字符時所存在的問題的討論已不乏其數(shù),但由于Java技術(shù)涉及內(nèi)容廣(J2EE包含了十幾種相關(guān)技術(shù)),技術(shù)供應商繁多,面向Java的Web服務器、應用服務器以及JDBC數(shù)據(jù)庫驅(qū)動等都沒有官方的標準,所以Java應用在處理中文時出了存在固有的問題外也會隨著選用的服務器、驅(qū)動程序的不同產(chǎn)生一些與平臺相關(guān)的問題。也就是說,在處理中文問題時,Java代碼的可移植性打了折扣。
總的看來,Java的中文處理問題較為集中地出現(xiàn)在JSP技術(shù)應用和Java的數(shù)據(jù)庫訪問過程中。這是因為無論是JSP應用還是基于JDBC的數(shù)據(jù)庫訪問都涉及到了Java程序與另外一種應用系統(tǒng)的交互,這種交互不可避免的要求系統(tǒng)之間進行數(shù)據(jù)的交互和參數(shù)的傳遞,而Java處理中文出現(xiàn)問題的地方往往就是這些數(shù)據(jù)讀入和輸出的地方。
JSP程序所應該注意的中文問題
以Tomcat 3.2.1的JSP應用為例,一般遇到中文問題可以使用如下的編碼強制轉(zhuǎn)換函數(shù)進行內(nèi)碼的轉(zhuǎn)換。
public static String toChinese(String strvalue)
{
try{
if(strvalue==null)
return null;
else
{
strvalue = new String(strvalue.getBytes("ISO8859_1"), "GBK");
return strvalue;
}
}catch(Exception e){
return null;
}
}
注意,在使用該函數(shù)前,我們需要分析中文無法正確輸出的原因到底是什么,而不能將所有的中文處理的問題都用這個方法來解決。例如,如果是由于忘記將JSP的輸出代碼定義為GB2312或GBK而產(chǎn)生的中文無法正確輸出就不能用這個函數(shù)來解決。一個好的習慣是在我們編寫每一個JSP頁面時都在文件的第一行定義程序所要輸出的字符集,如
<%@ page contentType="text/html; charset=GBK" %>或
<%@ page contentType="text/html; charset=GB2312" %>
對于一些不支持定義輸出的字符集的JSP版本,我們也可以作如下的設(shè)置:
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
另外還需要注意的是,這個函數(shù)是用來解決那些確實出現(xiàn)了無法正確輸出中文的代碼,而不是一個通用的用來保證中文字符正確輸出的函數(shù)。由于中文字符無法正確的輸出或讀入的原因都是因為這個字符的編碼和系統(tǒng)缺省的字符集編碼(或者是應用所要輸出的字符集,二者一般情況下是相同的)的不同引起的,所以在應用該函數(shù)前我們必須確定我們所要讀入或輸出的字符的編碼到底與系統(tǒng)缺省的字符集編碼是否相同。
您可能感興趣的文章:
- win2003 jsp運行環(huán)境架設(shè)心得(jdk+tomcat)
- eclipse配置tomcat開發(fā)Dynamic Web Project環(huán)境圖解
- Tomcat7.0安裝配置詳細(圖文)
- window7下Tomcat7.0安裝配置方法
- Nginx+Tomcat的服務器端環(huán)境配置詳解
- Linux下Tomcat+Nginx服務器環(huán)境安裝配置的簡明教程
- Centos6.5下Jdk+Tomcat+Mysql環(huán)境安裝圖文教程
- tomcat以及tomcat環(huán)境變量安裝配置方法教程
- Tomcat環(huán)境變量如何配置
- tomcat環(huán)境變量詳細配置步驟
相關(guān)文章
JavaScript實現(xiàn)鏈表插入排序和鏈表歸并排序
這篇文章主要介紹了JavaScript實現(xiàn)鏈表插入排序和鏈表歸并排序,較為詳細的分析了插入排序和歸并排序,對于學習JavaScript數(shù)據(jù)結(jié)構(gòu)具有一定參考借鑒價值,需要的朋友可以參考下。2016-10-10實戰(zhàn) J2EE 開發(fā)購物網(wǎng)站 - 創(chuàng)建數(shù)據(jù)庫
實戰(zhàn) J2EE 開發(fā)購物網(wǎng)站 - 創(chuàng)建數(shù)據(jù)庫...2006-10-10JSP內(nèi)置對象:Request和Response的簡單介紹及使用
JSP內(nèi)置對象:Request和Response的簡單介紹及使用,需要的朋友可以參考一下2013-02-02