心遠專欄

             :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            24 隨筆 :: 0 文章 :: 9 評論 :: 0 Trackbacks
          中文亂碼一直是困擾我們的一個很大的問題,也是很多開發人員希望解決的問題。 本系列文章中采用的環境為Tomcat5.0 + JDK1.5 +mysql5.0。統一編碼為UTF-8

          本篇主要是解決jsp頁面之間的post和get方法中出現的亂碼問題,不涉及struts等框架。

          (一)tomcat的j2ee實現對表單提交即post方式提示時處理參數采用缺省的iso-8859-1來處理
          我們現在新建2個頁面,在eclipse IDE中,eclipse對jsp文件的默認編碼
          iso-8859-1,可以通過設置調整為UTF-8。
          打開window-> preferences,如下圖所示:

          將用紅線框出來的select選擇utf8的。

          新建的2個頁面分別為login.jsp和result.jsp;login.jsp提交一個name給result.jsp,result.jsp負責顯示就行。
          login.jsp的頁面如下圖所示(采用post提交):

          result.jsp的處理代碼如下:

          將標記1行和標記2行都去掉的話在頁面上就會出現中文亂碼,標記1和標記2保留一個就可以解決這個問題。

          (二)get方式的解決辦法
          對于form表單采用get方法提交,我們可以采用以下的轉換來正常顯示中文
          name = new String(name.getBytes("iso8859_1"),"UTF-8");

          但是如果對于http://localhost:8000/test/result.jsp?name=中文這種提交,上面的方法就沒有效果了。
          對于后者,我們的解決方案是:將Tomcat 5.0\conf目錄下的server.xml文件中的
          <!-- Define a non-SSL Coyote HTTP/1.1 Connector on the port specified
          ???????? during installation -->
          ??? <Connector
          port="8000"?????????????? maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
          ?????????????? enableLookups="false" redirectPort="8443" acceptCount="100"
          ?????????????? debug="0" connectionTimeout="20000"
          ?????????????? disableUploadTimeout="true"
          ??? URIEncoding="UTF-8" />

          后面添加了URIEncoding="UTF-8"

          這樣我們就解決了get方式的亂碼問題。
          posted on 2006-11-19 12:00 心遠 閱讀(154) 評論(0)  編輯  收藏 所屬分類: java 軟件開發
          主站蜘蛛池模板: 福贡县| 阜平县| 永清县| 肥东县| 靖边县| 通榆县| 嵊泗县| 仪征市| 蓬莱市| 凤台县| 军事| 星座| 江门市| 舟山市| 林芝县| 泉州市| 台东市| 平度市| 哈巴河县| 新乐市| 铜鼓县| 永登县| 西乌珠穆沁旗| 平顺县| 南陵县| 麻城市| 嘉禾县| 榕江县| 万山特区| 离岛区| 琼结县| 峨眉山市| 广宁县| 南雄市| 梓潼县| 津市市| 天等县| 太仆寺旗| 苗栗县| 茶陵县| 拜泉县|