<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    風(fēng)人園

    弱水三千,只取一瓢,便能解渴;佛法無邊,奉行一法,便能得益。
    隨筆 - 99, 文章 - 181, 評論 - 56, 引用 - 0
    數(shù)據(jù)加載中……

    解決java中的中文亂碼問題(ZT)

    一般在傳送時(shí)使用的encoding:
    使用GET 的方式:
    String test = new String((request.getParameter("test")).getBytes("ISO-8859-1"),"GBK");

    使用POST 的方式:
    request.setCharacterEncoding("GBK");

    pageEncoding及contentType的作用:
    <%@ page pageEncoding="GBK" %>
    pageEncoding是當(dāng)jsp轉(zhuǎn)譯成_jsp.java時(shí)使用的encoding.預(yù)設(shè)是iso8859_1.
    然後_jsp.java編譯成_jsp.class是使用utf-8作為encoding.
    response.setContentType("text/html; charset=GBK");
    or
    <%@ page contentType="text/html;charset=GBK" %>
    就是輸出到瀏覽器時(shí)的編碼,預(yù)設(shè)是iso8859_1.
    這樣瀏覽器才知道應(yīng)該用甚麼charset來顯示.

    資料庫輸出到j(luò)sp出現(xiàn)亂碼:
    第一,檢查一下你database里的資料是否亂碼.
    如果database里的資料是亂碼,檢查一下再進(jìn)入資料庫時(shí)request接收後資料是否是亂碼.
    即忘了加入request.setCharacterEncoding(String charset);
    request.setCharacterEncoding(String charset)把表單傳送過來的資料以charset的字型來encoding.
    如果接收時(shí)是正常的.但資料庫是亂碼,
    那就檢查一下database的編碼設(shè)定.

    如果資料庫的資料正常.但輸出到j(luò)sp的資料是亂碼.
    以mysql為例:
    String connect = "jdbc:mysql://localhost/dbname?user=&password=&useUnicode=true&characterEncoding=GBK";
    就上面的mysql的例子.
    需要設(shè)定useUnicode為true.
    而characterEncoding=GBK必須與contentType的charset一樣.
    mysql的設(shè)定檔my.ini:
    [client] default-character-set=GBK
    [mysqld] default-character-set=GBK


    以下連結(jié)則介紹了access的jdbc:odbc的編碼:
    http://java.sun.com/j2se/1.4.2/docs/guide/jdbc/bridge.html

    include資料出現(xiàn)亂碼:
    舊的版本tomcat是不能在每一頁jsp中加入
    <%@ page contentType="text/html; charset=GBK" %>
    tomcat 5.x之後是可以每一頁都加入上面那一句的.
    會(huì)必須include的page及被include的page的編碼要相同.連大小寫都要相同.

    但這樣做不是最好的方法.

    其實(shí)可以在你的web application底下的web.xml的<web-app>里加入:


    <?xml version="1.0" encoding="ISO-8859-1"?>
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
    ?? xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    ?? xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
    ?? http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"version="2.4">
    .........
    .........??
    <jsp-config>
    <jsp-property-group>??
    ??<description>jsp encoding example</description>
    ??<display-name>JSPConfiguration</display-name>
    ??<url-pattern>*.jsp</url-pattern>
    ??<el-ignored>true</el-ignored>
    ??<page-encoding>GBK</page-encoding>
    ??<scripting-invalid>false</scripting-invalid>
    ??<include-prelude></include-prelude>
    ??<include-coda></include-coda>
    ??<description>html encoding example</description>
    ??<display-name>JSPConfiguration</display-name>??
    ??<url-pattern>*.html</url-pattern>??
    ??<el-ignored>true</el-ignored>
    ??<page-encoding>GBK</page-encoding>
    ??<scripting-invalid>false</scripting-invalid>
    ??<include-prelude></include-prelude>??
    ??<include-coda></include-coda>
    </jsp-property-group>
    </jsp-config>
    .........
    .........
    </web-app>



    apache整合tomcat 中文問題:
    apache+tomcat+JK2集成時(shí),http的請求是通過jk2的ajp13轉(zhuǎn)到tomcat的8009端口處理的,
    所以要修改tomcat/conf/server.xml中的以下兩項(xiàng)
    1 <Connector port="8080" …… URIEncoding="GBK" >
    2 <Connector port="8009" …… URIEncoding="GBK" >
    都加上URIEncoding="GBK"。

    posted on 2006-06-20 16:32 風(fēng)人園 閱讀(245) 評論(0)  編輯  收藏 所屬分類: Java

    主站蜘蛛池模板: 亚洲人成高清在线播放| 日本激情猛烈在线看免费观看| 7723日本高清完整版免费| 亚洲av成本人无码网站| 久久久精品国产亚洲成人满18免费网站 | 亚洲AⅤ视频一区二区三区| 国产福利电影一区二区三区,免费久久久久久久精 | 两个人看的www免费| 亚洲一区在线视频观看| 免费乱码中文字幕网站| 3d动漫精品啪啪一区二区免费| 亚洲人成网站在线播放2019| 亚洲国产另类久久久精品小说| 国产在线观看片a免费观看| 阿v免费在线观看| 亚洲欧洲日本精品| 亚洲熟女乱综合一区二区| 麻花传媒剧在线mv免费观看| 成人a毛片视频免费看| 亚洲字幕在线观看| 亚洲成a人片在线观看国产| 最近免费中文字幕mv电影| 国产精品无码亚洲一区二区三区| 久久精品国产精品亚洲艾草网| 免费看www视频| 6080午夜一级毛片免费看6080夜福利 | 国产成人亚洲精品无码AV大片| 久久国产亚洲电影天堂| 亚洲M码 欧洲S码SSS222| 国产va精品免费观看| 全黄大全大色全免费大片| 亚洲s码欧洲m码吹潮| 久久精品亚洲精品国产色婷| 国产国拍亚洲精品福利| 好男人视频社区精品免费| 99xxoo视频在线永久免费观看| yellow视频免费在线观看| 亚洲国产成人AV在线播放| 亚洲最大在线观看| 久久精品国产精品亚洲艾草网| 亚洲午夜AV无码专区在线播放|