szhswl
          宋針還的個人空間

                  中文亂碼這個問題,在我們的開發過程中是個經常遇到的問題,而這一問題的答案和解決方案也遍布互聯網的各個角落。隨便搜一下中文亂碼,可以找到符合條件的記錄成千上萬。然而由于使用框架的不同,各人的開發環境的不同,中文亂碼的情況及原因也各不相同。
                  情況:有可能是在數據庫里顯示中文而頁面進行提交時就成了亂碼,有可能頁面能正常顯示中文而數據庫里卻不能正常顯示中文。總之情況有很多種,數據庫里不能正常顯示中文有可能就是數據庫的問題,要么是建表時沒選擇好編碼要么是啟動參數等問題,而更常見的是在頁面提交的中文,在服務端就成亂碼的情況(本人昨天也遇到這情況),網上的很多解決方案,
                  首先配置web.xml的filter是必須的,而配置完畢后還是有中文問題的話,有的人說問題出在filter,用spring自帶的filter不行,自己寫了一個filter后解決;(本人是自己寫的filter);有人說tomcat4.x沒有這個問題,5.x就有編碼問題。在Tomcat的server.xml的Connector部分添加URIEncoding="GBK",server.xml添加后內容如下:

          <Connector URIEncoding="GBK" port="8080"
          maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
          enableLookups="false" redirectPort="8443" acceptCount="100"
          debug="0" connectionTimeout="20000"
          disableUploadTimeout="true" />
          本人也試過,沒用,最后查找資料查到下面三條語句的含義:

          1、<%@ page language="java" pageEncoding="gbk"%>
          2、<%@ page contentType="text/html;charset=gbk"%>
          3、<meta http-equiv="Content-Type" content="text/html; charset=gbk">

          第一句編碼格式為jsp文件的存儲格式。
          第二句web服務器在發送相應內容是使用解碼 格式。
          第三句是告訴瀏覽器需要使用UTF-8的編碼來處理web服務器的相應內容。

          雖然這三條語句可能對于解決沒有直接的作用,但是這個是亂碼產生原因的基礎所在。只要認真理解上面三條語句的含義,在頁面中統一編碼中文問題就有答案了。



          ---------------------------------------------------------------------------------------------------------------------------------
          說人之短,乃護己之短。夸己之長,乃忌人之長。皆由存心不厚,識量太狹耳。能去此弊,可以進德,可以遠怨。
          http://www.aygfsteel.com/szhswl
          ------------------------------------------------------------------------------------------------------ ----------------- ---------
          posted on 2007-12-18 09:54 宋針還 閱讀(2555) 評論(0)  編輯  收藏 所屬分類: 常見問題

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 南澳县| 阿拉尔市| 天峨县| 东辽县| 金塔县| 襄城县| 久治县| 灵石县| 乐都县| 云林县| 即墨市| 宜宾县| 青神县| 察雅县| 余庆县| 榆中县| 永德县| 襄樊市| 柘荣县| 仪征市| 土默特左旗| 谷城县| 海伦市| 玉树县| 宁化县| 龙江县| 九寨沟县| 石狮市| 永登县| 靖宇县| 剑川县| 承德市| 栖霞市| 吴堡县| 河北省| 天台县| 叙永县| 思茅市| 名山县| 合阳县| 开阳县|