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

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

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

    MySQL支持UTF-8編碼全攻略

    Posted on 2006-09-30 15:22 my 閱讀(241) 評(píng)論(0)  編輯  收藏 所屬分類: 數(shù)據(jù)庫(kù)方面
    服務(wù)器配置:
    ??? window2000
    ??? Tomcat 4.1,5.19
    ??? Mysql 4.1, 5.0
    ??? Java語(yǔ)言,JDK1.4.2
    ??? 數(shù)據(jù)庫(kù)驅(qū)動(dòng)mysql-connector-java-3.0.10-stable-bin.jar
    ??? Struts1.1
    ???
    開(kāi)始前先看提示
    MySQL數(shù)據(jù)庫(kù)的4.1是一個(gè)分水嶺,4.1直接支持Unicode,以下版本支持的不好;

    MySQL JDBC Driver的3.0.16也是一個(gè)分水嶺,3.0.16版本會(huì)取數(shù)據(jù)庫(kù)本身的編碼,然后按照該編碼轉(zhuǎn)換,這種方式和Oracle的JDBC Driver是一樣的。例如你的數(shù)據(jù)庫(kù)是GBK編碼的話,JDBC Driver就會(huì)把數(shù)據(jù)庫(kù)里面的取出來(lái)的字符串按照GBK往unicode轉(zhuǎn)換,送給JVM。因此正確的設(shè)置數(shù)據(jù)庫(kù)本身的編碼就尤為重要。

    MySQL JDBC Driver3.0.16以下的版本則不然,它不會(huì)那么智能的根據(jù)數(shù)據(jù)庫(kù)編碼來(lái)確定如何轉(zhuǎn)換,它總是默認(rèn)使用ISO8859-1,因此你必須使用 characterEncoding=GBK來(lái)強(qiáng)制他把數(shù)據(jù)庫(kù)中取出來(lái)的字符串按照GBK來(lái)往unicode轉(zhuǎn)換。

    因此,使用什么數(shù)據(jù)庫(kù)版本,不管是3.x,還是4.0.x還是4.1.x,其實(shí)對(duì)我們來(lái)說(shuō)不重要,重要的有二:

    1) 正確的設(shè)定數(shù)據(jù)庫(kù)編碼,MySQL4.0以下版本的字符集總是默認(rèn)ISO8859-1,MySQL4.1在安裝的時(shí)候會(huì)讓你選擇。如果你準(zhǔn)備使用UTF- 8,那么在創(chuàng)建數(shù)據(jù)庫(kù)的時(shí)候就要指定好UTF-8(創(chuàng)建好以后也可以改,4.1以上版本還可以單獨(dú)指定表的字符集)

    2) 使用3.0.16以上版本的JDBC Driver,那么你就不需要再寫什么characterEncoding=UTF-8

    開(kāi)始設(shè)置:
    1.打開(kāi)WinMysqlAdmin管理器,選擇my.ini設(shè)置項(xiàng),在[mysql]段加入一下代碼
    ? default-character-set=utf8
    ? 設(shè)置后重新啟動(dòng)MySQL服務(wù)。
    ? 再打開(kāi) WinMysqlAdmin管理器,選擇Variables項(xiàng),查看一下變量的值是否如下
    ? character_set_server? = utf8
    ? character_set_system? = utf8
    ? character_set_database? = utf8
    ? character_set_client? = utf8
    ? character_set_connection? = utf8
    ? character_set_results = utf8
    ?
    ? collation_connection = utf8_general_ci
    ? collation_database = utf8_general_ci
    ? collation_server = utf8_general_ci
    ?
    ? 如果不能重啟Mysql服務(wù),則可能拼寫錯(cuò)誤,檢查一下
    ? 以上變量的值都符合,恭喜你,設(shè)置成功

    2.Java中調(diào)用數(shù)據(jù)庫(kù)連接方法如下
    ? jdbc:mysql://192.168.1.87/mytest?useUnicode=true&characterEncoding=utf8
    ?
    ? 如果驅(qū)動(dòng)使用3.0.16以上版本的JDBC Driver,那么你就不需要再寫什么characterEncoding=UTF-8
    ?
    3.在頁(yè)面提交數(shù)據(jù)處理請(qǐng)看 "中文問(wèn)題","struts國(guó)際化問(wèn)題"——終極解決方案 一文,非常清楚

    4.完成以上三步,你的系統(tǒng)就可以運(yùn)行與UTF-8編碼環(huán)境了。

    posts - 63, comments - 45, trackbacks - 0, articles - 99

    Copyright © my

    主站蜘蛛池模板: 亚洲国产婷婷六月丁香| 亚洲熟妇无码八V在线播放| 国产成人免费午夜在线观看| 中文字幕亚洲男人的天堂网络| 国产男女猛烈无遮挡免费网站| 日韩精品无码免费专区网站| 亚洲综合丁香婷婷六月香| 亚洲精品国产V片在线观看| 暖暖日本免费中文字幕| 亚洲人片在线观看天堂无码| 在线日韩日本国产亚洲| 国色精品卡一卡2卡3卡4卡免费| 一区在线免费观看| 亚洲一区二区三区在线观看蜜桃| 国产国拍亚洲精品福利| 噼里啪啦免费观看高清动漫4| 一级特黄录像视频免费| 伊人久久亚洲综合影院首页| 亚洲深深色噜噜狠狠爱网站| 免费无遮挡无码视频网站| 少妇人妻偷人精品免费视频 | 亚洲中文字幕一二三四区苍井空| 亚洲国产一成久久精品国产成人综合| 美丽的姑娘免费观看在线播放| 特a级免费高清黄色片| 亚洲一区二区三区精品视频| 亚洲AV无码一区二区乱子伦| 国产乱子伦片免费观看中字| 日本免费人成在线网站| av永久免费网站在线观看| 日本永久免费a∨在线视频| 亚洲香蕉久久一区二区| 亚洲av综合色区| 伊人亚洲综合青草青草久热| 真实乱视频国产免费观看| 91热成人精品国产免费| 永久在线观看免费视频| 国产成人无码免费网站| 日韩精品无码永久免费网站| 亚洲AV成人精品一区二区三区| 亚洲午夜国产精品|