選擇java 進入自由開放的國度

          隨筆 - 49, 文章 - 3, 評論 - 154, 引用 - 1
          數據加載中……

          jsp-java-mysql字符集統一

          1、在jsp中,字符集由<%@ page language="java" contentType="text/html;charset=GBK"%>來指定,如果處理中文,需指定為gbk。所以提交的數據全部都使用gbk編碼;
          2、在java中,從jsp提交過來的數據是gbk編碼的,而java默認的處理方式是使用ISO-8859-1編碼,所以若在java中能顯示jsp提交過來的gbk編碼方式的數據,就要進行一個轉換:將gbk轉換為ISO-8859-1,這樣數據就可正常顯示。
          3、如果要將jsp提交的數據經過java后臺處理,然后放入數據庫中,就又多了一個數據編碼方式:數據庫的數據編碼方式。以mysql為例,默認字符集為latin,所以若將gbk的數據放入,必然出現亂碼,所以首先應改變數據庫的編碼方式為gbk。

          綜上,簡單的設置方法如下:

          jsp?(gbk)???? ---->???? java(ISO-8859-1)? -------> mysql(gbk)
          ??????????????????????????????????????????????????????????????? 轉換
          這樣設置之后,還有一種情況會出現亂碼:當你在jsp端提交一個id號,然后在java處理端通過id號得到數據庫中的gbk(漢字)數據,這是就會出現亂碼,因為java處理的是ISO-8859-1,你在java到mysql中有了一個ISO-8859-1到gbk的轉換,而這些數據本身就是ISO-8859-1,所以轉換后就出現問題了。
          解決辦法:將在java中處理的gbk數據轉換為ISO-8859-1即可。

          總之:在jsp,java,mysql三者之間的編碼方式必須統一,不能錯誤的轉換或者不轉換。

          posted on 2006-11-03 09:03 soochow_hhb 以java論成敗 以架構論英雄 閱讀(1607) 評論(0)  編輯  收藏 所屬分類: Struts

          主站蜘蛛池模板: 天峨县| 沽源县| 丹阳市| 岑巩县| 长乐市| 乐都县| 文山县| 巍山| 繁峙县| 平阳县| 苍溪县| 柳江县| 合肥市| 卓资县| 栾城县| 观塘区| 稻城县| 珲春市| 甘南县| 彭阳县| 化州市| 舒城县| 高雄县| 双牌县| 辛集市| 衡山县| 台湾省| 南宁市| 定西市| 禹城市| 海原县| 巴林左旗| 渝北区| 历史| 鄂托克旗| 芜湖县| 平阴县| 岳西县| 榆树市| 宜兴市| 黄浦区|