MySQL支持UTF-8編碼全攻略

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

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

          MySQL JDBC Driver3.0.16以下的版本則不然,它不會那么智能的根據數據庫編碼來確定如何轉換,它總是默認使用ISO8859-1,因此你必須使用 characterEncoding=GBK來強制他把數據庫中取出來的字符串按照GBK來往unicode轉換。

          因此,使用什么數據庫版本,不管是3.x,還是4.0.x還是4.1.x,其實對我們來說不重要,重要的有二:

          1) 正確的設定數據庫編碼,MySQL4.0以下版本的字符集總是默認ISO8859-1,MySQL4.1在安裝的時候會讓你選擇。如果你準備使用UTF- 8,那么在創建數據庫的時候就要指定好UTF-8(創建好以后也可以改,4.1以上版本還可以單獨指定表的字符集)

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

          開始設置:
          1.打開WinMysqlAdmin管理器,選擇my.ini設置項,在[mysql]段加入一下代碼
          ? default-character-set=utf8
          ? 設置后重新啟動MySQL服務。
          ? 再打開 WinMysqlAdmin管理器,選擇Variables項,查看一下變量的值是否如下
          ? 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服務,則可能拼寫錯誤,檢查一下
          ? 以上變量的值都符合,恭喜你,設置成功

          2.Java中調用數據庫連接方法如下
          ? jdbc:mysql://192.168.1.87/mytest?useUnicode=true&characterEncoding=utf8
          ?
          ? 如果驅動使用3.0.16以上版本的JDBC Driver,那么你就不需要再寫什么characterEncoding=UTF-8
          ?
          3.在頁面提交數據處理請看 "中文問題","struts國際化問題"——終極解決方案 一文,非常清楚

          4.完成以上三步,你的系統就可以運行與UTF-8編碼環境了。

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

          Copyright © my

          主站蜘蛛池模板: 宣城市| 宁陕县| 和政县| 察隅县| 南京市| 泽普县| 蒲城县| 西乌珠穆沁旗| 新邵县| 紫阳县| 顺昌县| 砚山县| 新竹县| 郎溪县| 盐山县| 娄烦县| 固阳县| 温州市| 莱阳市| 武平县| 五家渠市| 通化县| 介休市| 静宁县| 牟定县| 云龙县| 广饶县| 察隅县| 兰溪市| 伊宁县| 马鞍山市| 康马县| 朝阳县| 开封县| 搜索| 嘉善县| 綦江县| 尉犁县| 怀远县| 周口市| 安顺市|