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

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

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

    狂淘

    www.kuangtao.net

       :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      6 隨筆 :: 185 文章 :: 68 評(píng)論 :: 0 Trackbacks
     

    用JAVA/JSP做開(kāi)發(fā)很久了,也見(jiàn)過(guò)許多朋友做過(guò),有很大一部分用的是MYSQL的數(shù)據(jù)庫(kù),現(xiàn)在MYSQL數(shù)據(jù)庫(kù)版本5.0及以上的都已經(jīng)被用的很廣泛了,但一直有一個(gè)問(wèn)題,使剛?cè)腴T(mén)的朋友費(fèi)勁心思.就是JSP連接MYSQL5數(shù)據(jù)庫(kù)的時(shí)候的一些中文問(wèn)題.于是網(wǎng)絡(luò)上也出現(xiàn)了很多相關(guān)的帖子.由些大家對(duì)MYSQL5數(shù)據(jù)庫(kù)的配制文件MY.INI也有了些了解.甚至一些朋友就直接問(wèn):你們的MYSQL是什么編碼的?你們的TOMCAT是什么樣的編碼,可能不是很規(guī)范的問(wèn)法,但說(shuō)明了編碼問(wèn)題的確影響了大家的使用.

    下面的講解是在MYSQL5.0.18,TOMCAT5.0.28,驅(qū)動(dòng)為mysql-connector-java-3.2.0-alpha-bin.jar及以上版本的情況下測(cè)試的

    JSP連接數(shù)據(jù)庫(kù)的亂碼問(wèn)題,分兩部分來(lái)看

    1 數(shù)據(jù)庫(kù)中是不是亂碼?

    我們需要保證數(shù)據(jù)庫(kù)保存的不是"?????"形式的亂碼,如何保證呢?

    我們?cè)诠芾鞰YSQL數(shù)據(jù)庫(kù)的時(shí)候,需要用一個(gè)客戶端,無(wú)論你用MYSQL-FRONT,EMS SQL Manager for MySQL,還是MYSQL命令行,這些都是客戶端,也是程序連接了數(shù)據(jù)庫(kù),我們現(xiàn)在用客戶端EMS SQL Manager for MySQL連接數(shù)據(jù)庫(kù),連接的時(shí)候一定要設(shè)置客戶端字符集為GBK或者GB2312,這樣你才能知道數(shù)據(jù)庫(kù)里面是不是亂碼.這一編碼設(shè)置很重要,不然,就算數(shù)據(jù)庫(kù)里是中文,你看到的還是亂碼

    這樣連接后,我們看下我們做測(cè)試的表格,里面的漢字就是正常的,這個(gè)時(shí)候也可以直接在上面的記錄中進(jìn)入中文的修改

    若這里沒(méi)有選擇編碼的話,一般默認(rèn)的就是UTF8的了,連接后再看這個(gè)表格,就會(huì)出現(xiàn)亂碼

    而這個(gè)時(shí)候就會(huì)出現(xiàn)不能插入中文的問(wèn)題,若您插入中文的話,就會(huì)出現(xiàn)下列錯(cuò)誤

    這個(gè)時(shí)候大家什么不要誤解,不是不能插入中文,也不是你插入的字符太長(zhǎng),

    更改下連接編碼就OK了.下面是這個(gè)表格的SQL語(yǔ)句

    CREATE TABLE `test` (
    `name` varchar(100) default NULL,
    `adesc` varchar(100) default NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=gb2312;

    二.程序連接數(shù)據(jù)時(shí),也要設(shè)置好連接時(shí)候的編碼,JSP連接MYSQL數(shù)據(jù)庫(kù)時(shí)候,有個(gè)URL參數(shù),jdbc:mysql://localhost:3307/sssdb?user=demoUser&password=demoPwd&useUnicode=true&characterEncoding=UTF-8,在這里需要設(shè)置成UTF-8,

    下面是連接數(shù)據(jù)庫(kù)的程序代碼

    <%@ page contentType="text/html;charset=GB2312" language="java"%>
    <%@ page import="java.io.*" %>
    <%@ page import="java.util.*" %>
    <%@ page import="java.sql.*" %>

    <%
    out.println("您的數(shù)據(jù)庫(kù)某表格中的內(nèi)容如下<br>");
    try {
    Class.forName("com.mysql.jdbc.Driver").newInstance();
    String url ="jdbc:mysql://localhost:3307/sssdb?user=demoUser&password=demoPwd&useUnicode=true&characterEncoding=UTF-8";
    //testDB為你的數(shù)據(jù)庫(kù)名
    Connection conn= DriverManager.getConnection(url);
    Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
    String sql="select * from test";

    ResultSet rs=stmt.executeQuery(sql);
    while(rs.next()) {
    out.println("第一個(gè)字段內(nèi)容:<font color=red>"+rs.getString(1)+"</font> 第二個(gè)字段內(nèi)容:<font color=red>"+rs.getString(2)+"</font><br>");
    }
    out.print("數(shù)據(jù)庫(kù)操作成功,恭喜你");

    sql = "insert into test (name,adesc) values ('中文','漢字')";
    stmt.execute(sql);


    rs.close();
    stmt.close();
    conn.close();
    }
    catch(Exception e){
    System.out.println("數(shù)據(jù)庫(kù)連接不成功"+e.toString());
    }
    %>

    上面的經(jīng)驗(yàn)是經(jīng)過(guò)多次嘗試總結(jié)出來(lái)的,不管是MYSQL的客戶端還是程序連接MYSQL數(shù)據(jù)庫(kù),在本質(zhì)上都是程序連接數(shù)據(jù)庫(kù),可以自己在本地多試驗(yàn)下,有時(shí)候有可能是驅(qū)動(dòng)太舊

    posted on 2009-09-04 17:02 狂淘 閱讀(535) 評(píng)論(0)  編輯  收藏 所屬分類: jsp項(xiàng)目 傳到服務(wù)器問(wèn)題
    主站蜘蛛池模板: 亚洲七七久久精品中文国产| 亚洲图片中文字幕| 美丽的姑娘免费观看在线播放| 亚洲欧洲国产精品久久| 成人性生交大片免费看午夜a| 一级毛片免费播放试看60分钟| 亚洲美女自拍视频| 亚洲情侣偷拍精品| 国产在线观看免费观看不卡| 四虎国产精品永免费| 亚洲一级毛片视频| 亚洲中文久久精品无码| 成人毛片免费播放| 成人网站免费看黄A站视频| 亚洲av无码专区国产不乱码| 亚洲AV中文无码乱人伦下载| 日本二区免费一片黄2019| 国产成人精品无码免费看| 另类专区另类专区亚洲| 亚洲图片激情小说| 亚洲女久久久噜噜噜熟女| 四虎影视精品永久免费网站| 成人免费的性色视频| 成全高清在线观看免费| 深夜特黄a级毛片免费播放| 亚洲人成电影网站| 久久精品国产亚洲av成人| 免费人成激情视频| 欧美大尺寸SUV免费| 24小时免费看片| 日韩精品无码免费专区网站| 香蕉视频免费在线播放| 亚洲一区二区无码偷拍| 亚洲综合激情九月婷婷| 亚洲国产精品一区二区成人片国内 | 国产免费看插插插视频| 91成人免费在线视频| 无码人妻久久一区二区三区免费| jizz中国免费| 特黄特色大片免费| 立即播放免费毛片一级|