多種語言(big5\gbk\gb2312\utf8\Shift_JIS\iso8859-1)的網(wǎng)頁編碼切

字號(hào):


    1、response.setContentType("text/html; charset=GB2312");
    或者response.setContentType("text/html; charset=UTF-8");
    charset前面留一個(gè)空格
    2、頭文件包含
    3、 一般處理是將在網(wǎng)頁上提交的中文轉(zhuǎn)碼為Unicode存儲(chǔ)在數(shù)據(jù)庫中,取出來的
    時(shí)候,用自動(dòng)轉(zhuǎn)碼(ContentType=”text/html;charset=gb2312”或ContentType=”text/html;charset=big5”)的方式輸出到網(wǎng)頁。
    4、得到一個(gè)字符串時(shí),你必須知道是GB編碼還是BIG5編碼的,然后GB編碼就用:strTMP = new String(strTMP.getBytes(),"GBK"),BIG5編碼就:strTMP = new String(strTMP.getBytes(),"BIG5"),這樣就可以把源字符串全轉(zhuǎn)換為UNICODE,編碼統(tǒng)一以后就能解決簡(jiǎn)繁體同屏顯示的問題了。
    5、方法1是jsp中所有的標(biāo)簽和數(shù)據(jù)都存儲(chǔ)在數(shù)據(jù)庫中,用戶選哪種語言就從庫中選對(duì)應(yīng)的數(shù)據(jù)進(jìn)行展示;
    方法2是使用幾個(gè)MessageBuddle.properties文件進(jìn)行定義所有的label,jsp的lable使用定義的label參數(shù),這樣通過切換properties文件就可以輕松實(shí)現(xiàn)國際化,而jsp文件勿需做任何改變.
    一種語言一個(gè)配置文件
    默認(rèn)根據(jù)瀏覽器使用語言判斷
    select語言改變是重新加載配置文件
    6、Struts中是不能完全實(shí)現(xiàn)的。因?yàn)镾truts只可以國際化標(biāo)簽。而內(nèi)容數(shù)據(jù)還是應(yīng)該在數(shù)據(jù)庫中設(shè)置。
    設(shè)置一個(gè)字段Number(1) lang ,中文為1,英文為2,日文為3 等等
    在提取數(shù)據(jù)的SQL語句中做判斷。這樣比較實(shí)際點(diǎn)。
    7、 transform.js
    代碼如下:
    <script type="text/javascript" language="javascript" src="<%= request.getContextPath() %>/js/transform.js"></script>
    <script type="text/javascript" language="javascript">
    function s2t()
    {document.body.innerHTML = document.body.innerHTML.s2t();}
    function t2s()
    {document.body.innerHTML = document.body.innerHTML.t2s();}
    </script>
    <a href="javascript:s2t()"><font color="white">繁體中文</font></a> | <a href="javascript:t2s()"><font color="white">簡(jiǎn)體中文</font></a>
    8、JSP:
    <%@ page pageEncoding="utf-8" contentType="text/html; charset=utf-8" %>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    然后加上一個(gè)Web Filter做編碼轉(zhuǎn)換,
    再確認(rèn)一下數(shù)據(jù)庫也是utf-8的話,
    不管是輸入輸出,肯定沒問題的。
    ·JSP,JAVA文件的編碼方式采用utf-8
    ·數(shù)據(jù)庫采用utf-8的編碼