国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JSP > 正文

Tomcat+Jsp環境下的中文問題

2020-06-01 23:31:06
字體:
來源:轉載
供稿:網友

摘要:關于Java應用在處理中文時所存在問題的討論已經相當多了,與大部分的討論不同,本文將從漢字字符的輸入和輸出的角度來討論Java語言處理中文時所存在的問題。
盡管關于Java在處理中文字符時所存在的問題的討論已不乏其數,但由于Java技術涉及內容廣(J2EE包含了十幾種相關技術),技術供應商繁多,面向Java的Web服務器、應用服務器以及JDBC數據庫驅動等都沒有官方的標準,所以Java應用在處理中文時出了存在固有的問題外也會隨著選用的服務器、驅動程序的不同產生一些與平臺相關的問題。也就是說,在處理中文問題時,Java代碼的可移植性打了折扣。
總的看來,Java的中文處理問題較為集中地出現在JSP技術應用和Java的數據庫訪問過程中。這是因為無論是JSP應用還是基于JDBC的數據庫訪問都涉及到了Java程序與另外一種應用系統的交互,這種交互不可避免的要求系統之間進行數據的交互和參數的傳遞,而Java處理中文出現問題的地方往往就是這些數據讀入和輸出的地方。
JSP程序所應該注意的中文問題
以Tomcat 3.2.1的JSP應用為例,一般遇到中文問題可以使用如下的編碼強制轉換函數進行內碼的轉換。
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;
}

注意,在使用該函數前,我們需要分析中文無法正確輸出的原因到底是什么,而不能將所有的中文處理的問題都用這個方法來解決。例如,如果是由于忘記將JSP的輸出代碼定義為GB2312或GBK而產生的中文無法正確輸出就不能用這個函數來解決。一個好的習慣是在我們編寫每一個JSP頁面時都在文件的第一行定義程序所要輸出的字符集,如
<%@ page contentType="text/html; charset=GBK" %>或
<%@ page contentType="text/html; charset=GB2312" %>
對于一些不支持定義輸出的字符集的JSP版本,我們也可以作如下的設置:
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
另外還需要注意的是,這個函數是用來解決那些確實出現了無法正確輸出中文的代碼,而不是一個通用的用來保證中文字符正確輸出的函數。由于中文字符無法正確的輸出或讀入的原因都是因為這個字符的編碼和系統缺省的字符集編碼(或者是應用所要輸出的字符集,二者一般情況下是相同的)的不同引起的,所以在應用該函數前我們必須確定我們所要讀入或輸出的字符的編碼到底與系統缺省的字符集編碼是否相同。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 延长县| 沂水县| 南皮县| 慈利县| 黄平县| 宁安市| 建宁县| 祁东县| 汉中市| 江永县| 临潭县| 道孚县| 巨鹿县| 合水县| 永寿县| 泸定县| 米林县| 定襄县| 裕民县| 涞源县| 弋阳县| 思南县| 凯里市| 沙坪坝区| 托克逊县| 东乌珠穆沁旗| 来凤县| 古浪县| 桓仁| 长乐市| 金堂县| 高阳县| 澄城县| 万宁市| 云霄县| 永仁县| 斗六市| 静宁县| 镇江市| 化隆| 景德镇市|