1、response.setContentType("text/html; charset=GB2312");
或者response.setContentType("text/html; charset=UTF-8");
charset前面留一個空格
2、頭文件包含
3、 一般處理是將在網(wǎng)頁上提交的中文轉(zhuǎn)碼為Unicode存儲在數(shù)據(jù)庫中,取出來的
時候,用自動轉(zhuǎn)碼(ContentType=”text/html;charset=gb2312”或ContentType=”text/html;charset=big5”)的方式輸出到網(wǎng)頁。
4、得到一個字符串時,你必須知道是GB編碼還是BIG5編碼的,然后GB編碼就用:strTMP = new String(strTMP.getBytes(),"GBK"),BIG5編碼就:strTMP = new String(strTMP.getBytes(),"BIG5"),這樣就可以把源字符串全轉(zhuǎn)換為UNICODE,編碼統(tǒng)一以后就能解決簡繁體同屏顯示的問題了。
5、方法1是jsp中所有的標簽和數(shù)據(jù)都存儲在數(shù)據(jù)庫中,用戶選哪種語言就從庫中選對應的數(shù)據(jù)進行展示;
方法2是使用幾個MessageBuddle.properties文件進行定義所有的label,jsp的lable使用定義的label參數(shù),這樣通過切換properties文件就可以輕松實現(xiàn)國際化,而jsp文件勿需做任何改變.
一種語言一個配置文件
默認根據(jù)瀏覽器使用語言判斷
select語言改變是重新加載配置文件
6、Struts中是不能完全實現(xiàn)的。因為Struts只可以國際化標簽。而內(nèi)容數(shù)據(jù)還是應該在數(shù)據(jù)庫中設置。
設置一個字段Number(1) lang ,中文為1,英文為2,日文為3 等等
在提取數(shù)據(jù)的SQL語句中做判斷。這樣比較實際點。
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">簡體中文</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"/>
然后加上一個Web Filter做編碼轉(zhuǎn)換,
再確認一下數(shù)據(jù)庫也是utf-8的話,
不管是輸入輸出,肯定沒問題的。
·JSP,JAVA文件的編碼方式采用utf-8
·數(shù)據(jù)庫采用utf-8的編碼
更多信息請查看IT技術專欄