亚洲av色香蕉一区二区三区,十四以下岁毛片带血a级,亚洲 校园 欧美 国产 另类,亚洲av日韩av一区谷露,色欲av无码一区二区三区

  • 相關(guān)軟件
    >JAVA編碼問題的一些理解 創(chuàng)建者:webmaster 更新時間:2005-05-30 00:00

    Java 語言默認(rèn)的編碼方式是UNICODE ,而我們中國人通常使用的文件和數(shù)據(jù)庫都是基于 GB2312 或者 BIG5 等方式編碼的,怎樣才能夠恰當(dāng)?shù)剡x擇漢字編碼方式并正確地處理漢字的編碼呢?本文將從漢字編碼的常識入手,結(jié)合 Java 編程實例,分析以上兩個問題并提出解決它們的方案:

    1.在JSP程序中加入一條語句:
    <%@page contentType="text/html;charset=gb2312" %>

    2.在URL請示字符串的編碼問題。
    如果通過GET/POST方法從客戶端傳遞過來的信息中包含漢字信息,SERVLET/JSP無法得到正確的值。
    我們在調(diào)用request.getParameter("param_name")前指定應(yīng)用程序所希望的編碼方式。
    也就是request.setCharacterEcoding()即可

    3.在不同的平臺編碼的問題是不同的。
    在linux平臺上的標(biāo)準(zhǔn)是Iso8859_1,而在win2k下是GBK的,這些是默認(rèn)的標(biāo)準(zhǔn),如果你的服務(wù)器不是這樣的,那么編譯的問題一定會有問題。本人就遇到這樣的問題,兩臺LINUX服務(wù)器,一臺lang=en,一臺lang=en,UTF8,被我搞了N長時間才找到原因。

    3.我本人用的最多的轉(zhuǎn)換編碼的一個類(在linux平臺),幾乎可以解決所有的編碼問題。類的方法非常解決。主要就是asc2gb()和gb2asc()這兩個類。
    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.讀寫文件時的中文問題:

    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();

    以上僅僅是本人是日常使用中遇到的一些問題和解決方案。由于國際化的工作并不是在國內(nèi)完成的,所以在這些基本類發(fā)布之前,沒有經(jīng)過嚴(yán)格的測試,所以對中文字符的支持并不像 Java Soft 所聲稱的那樣完美。Java 編程語言成長于網(wǎng)絡(luò)世界,這就要求 Java 對多國字符有很好的支持。 Java 編程語言適應(yīng)了計算的網(wǎng)絡(luò)化的需求,為它能夠在網(wǎng)絡(luò)世界迅速成長奠定了堅實的基礎(chǔ)。 Java 的締造者 (Java Soft)已經(jīng)考慮到 Java 編程語言對多國字符的支持,只是現(xiàn)在的解決方案有很多缺陷在里面,需要我們付諸一些補(bǔ)償性的措施。而世界標(biāo)準(zhǔn)化組織也在努力把人類所有的文字統(tǒng)一在一種編碼之中,其中一種方案是 ISO10646 ,它用四個字節(jié)來表示一個字符。當(dāng)然,在這種方案未被采用之前,還是希望 Java Soft 能夠嚴(yán)格地測試它的產(chǎn)品,為用戶帶來更多的方便。
    相關(guān)文章
    本頁查看次數(shù):