精品国产亚洲一区二区三区,男女作爱在线观看免费网站,欧美的又大又长做禁片A片,97国产精品人妻无码久久久
注冊(cè)
|
提交需求
|
訂閱
|
English
首 頁(yè)
解決方案
產(chǎn) 品
服 務(wù)
支 持
EDN系統(tǒng)
成功案例
關(guān)于我們
聯(lián)系我們
樹結(jié)構(gòu)圖
EDN系統(tǒng)
圖形圖像
網(wǎng)絡(luò)安全
項(xiàng)目專題
WEB開發(fā)
辦公系列
操作系統(tǒng)
數(shù)據(jù)庫(kù)
程序設(shè)計(jì)
TOP 10
在Foxmail中如何使…
Ftp 子命令
BigDecimal
MSN在線客服功能模塊使…
會(huì)員卡使用方法說明
DataInputStr…
留言板功能說明
CScript
BufferedInpu…
設(shè)置打印機(jī)
您現(xiàn)在的位置:
>
技術(shù)沙龍
>
WEB開發(fā)
>
JSP
>
JAVA編碼問題的一些理解
相關(guān)軟件
>
JAVA編碼問題的一些理解
創(chuàng)建者:
webmaster
更新時(shí)間:
2005-05-30
00:00
Java 語言默認(rèn)的編碼方式是UNICODE ,而我們中國(guó)人通常使用的文件和數(shù)據(jù)庫(kù)都是基于 GB2312 或者 BIG5 等方式編碼的,怎樣才能夠恰當(dāng)?shù)剡x擇漢字編碼方式并正確地處理漢字的編碼呢?本文將從漢字編碼的常識(shí)入手,結(jié)合 Java 編程實(shí)例,分析以上兩個(gè)問題并提出解決它們的方案:
1.在JSP程序中加入一條語句:
<%@page contentType="text/html;charset=gb2312" %>
2.在URL請(qǐng)示字符串的編碼問題。
如果通過GET/POST方法從客戶端傳遞過來的信息中包含漢字信息,SERVLET/JSP無法得到正確的值。
我們?cè)谡{(diào)用request.getParameter("param_name")前指定應(yīng)用程序所希望的編碼方式。
也就是request.setCharacterEcoding()即可
3.在不同的平臺(tái)編碼的問題是不同的。
在linux平臺(tái)上的標(biāo)準(zhǔn)是Iso8859_1,而在win2k下是GBK的,這些是默認(rèn)的標(biāo)準(zhǔn),如果你的服務(wù)器不是這樣的,那么編譯的問題一定會(huì)有問題。本人就遇到這樣的問題,兩臺(tái)LINUX服務(wù)器,一臺(tái)lang=en,一臺(tái)lang=en,UTF8,被我搞了N長(zhǎng)時(shí)間才找到原因。
3.我本人用的最多的轉(zhuǎn)換編碼的一個(gè)類(在linux平臺(tái)),幾乎可以解決所有的編碼問題。類的方法非常解決。主要就是asc2gb()和gb2asc()這兩個(gè)類。
package com.whaic.tools;
import java.io.UnsupportedEncodingException;
public class ECov
{
public static String asc2gb(String asc){
String ret;
if(asc==null)return asc;
try{
ret=new String(asc.getBytes("ISO8859_1"),"GB2312");
}
catch(UnsupportedEncodingException e){
ret=asc;
}
return ret;
}
public static String gb2asc(String gb){
String ret;
if(gb==null)return gb;
try{
ret=new String(gb.getBytes("GB2312"),"ISO8859_1");
}
catch(UnsupportedEncodingException e){
ret=gb;
}
return ret;
}
}
4.讀寫文件時(shí)的中文問題:
Read::
FileInputStream fis = new FileInputStream(strInFile);
InputStreamReader isr = new InputStreamReader(fis, "GB2312");
Reader in = new BufferedReader(isr);
int ch;
while ((ch = in.read()) > -1) {
iCharNum += 1;
buffer.append((char)ch);
}
in.close();
Write::
FileOutputStream fos = new FileOutputStream(strOutFile);
Writer out = new OutputStreamWriter(fos, "Big5");
out.write(str);
out.close();
以上僅僅是本人是日常使用中遇到的一些問題和解決方案。由于國(guó)際化的工作并不是在國(guó)內(nèi)完成的,所以在這些基本類發(fā)布之前,沒有經(jīng)過嚴(yán)格的測(cè)試,所以對(duì)中文字符的支持并不像 Java Soft 所聲稱的那樣完美。Java 編程語言成長(zhǎng)于網(wǎng)絡(luò)世界,這就要求 Java 對(duì)多國(guó)字符有很好的支持。 Java 編程語言適應(yīng)了計(jì)算的網(wǎng)絡(luò)化的需求,為它能夠在網(wǎng)絡(luò)世界迅速成長(zhǎng)奠定了堅(jiān)實(shí)的基礎(chǔ)。 Java 的締造者 (Java Soft)已經(jīng)考慮到 Java 編程語言對(duì)多國(guó)字符的支持,只是現(xiàn)在的解決方案有很多缺陷在里面,需要我們付諸一些補(bǔ)償性的措施。而世界標(biāo)準(zhǔn)化組織也在努力把人類所有的文字統(tǒng)一在一種編碼之中,其中一種方案是 ISO10646 ,它用四個(gè)字節(jié)來表示一個(gè)字符。當(dāng)然,在這種方案未被采用之前,還是希望 Java Soft 能夠嚴(yán)格地測(cè)試它的產(chǎn)品,為用戶帶來更多的方便。
相關(guān)文章
前一則:
jsp 下實(shí)現(xiàn)防止重復(fù)在線,統(tǒng)計(jì)在線人數(shù)的辦法
后一則:
集群與jetspeed
本頁(yè)查看次數(shù):
公司公告
|
客戶調(diào)查
|
法律聲明
|
誠(chéng)聘英才
|
給我們投稿
|
繁
閃
頭像
京ICP備05031245號(hào)
Copyright @ REDCOME.com ALL Rights Reserved
北京怡康軟件科技有限公司 地址:北京市昌平區(qū)東小口立湯路188號(hào)北方明珠大廈1號(hào)樓2708 郵編:102218 電話:84909966 傳真:84909900 QQ:335601661