posts - 31,  comments - 31,  trackbacks - 0
                今天用sun的jdk調(diào)的沒有一點(diǎn)問題的數(shù)據(jù)抽取程序,方放到AIX上后不能用了,oralce報(bào)出向一個字段中插入了過長的數(shù)據(jù),可是程序在幾天前還是沒有問題的,后來分析可能是字符集導(dǎo)致的,因?yàn)榍皫滋煨薷倪^informix數(shù)據(jù)庫的字符集由8859-1轉(zhuǎn)為了zh_cn.gb18030-2000,但解決過程異常艱難,后來吧informix的url改為<value>jdbc:informix-sqli://xx.xx.xx.xx:8888/XXXX:informixserver=whcspdev;DB_LOCALE=zh_cn.gb18030-2000;CLIENT_LOCALE=zh_cn.UTF8(原為zh_cn.gb18030-2000);NEWCODESET=gb18030,gb18030-2000,5488,utf8</value>就可以了。后來猜測了一下原因:
          1、oracle數(shù)據(jù)庫的jdbc驅(qū)動是是自動將數(shù)據(jù)庫的數(shù)據(jù)轉(zhuǎn)為unicode格式,這可能跟java的String默認(rèn)為unicode有關(guān),為了讓大家方便操作,
          2、sun jdk的String在初始時用的是Unicode格式,ibm的jdk應(yīng)該也是,但是有一點(diǎn),sun的jdk在通過informix jdbc驅(qū)動取數(shù)據(jù)時不會將數(shù)據(jù)轉(zhuǎn)成其他字符集,而是仍然使用Unicode,而IBM的則是通過CLIENT_LOCALE=zh_cn.gb18030-2000配置將數(shù)據(jù)格式轉(zhuǎn)為了zh_cn.gb18030-2000。
          所以在oracle作insert的時候就會由于字符集不匹配而報(bào)錯
          posted on 2007-07-18 19:23 小平 閱讀(1001) 評論(2)  編輯  收藏 所屬分類: 隨筆


          FeedBack:
          # re: AIX IBM JDK 上運(yùn)行Informix 與oralce之間的數(shù)據(jù)批量抽取的java程序的字符集問題[未登錄]
          2009-01-07 20:37 | 小兵
          現(xiàn)在在哪呢?不好意思收到你這來了,哈哈  回復(fù)  更多評論
            
          # re: AIX IBM JDK 上運(yùn)行Informix 與oralce之間的數(shù)據(jù)批量抽取的java程序的字符集問題[未登錄]
          2009-01-09 14:26 | 小平
          @小兵
          誰?如果認(rèn)識可以私聊,哈哈  回復(fù)  更多評論
            
          <2009年1月>
          28293031123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          常用鏈接

          留言簿(2)

          隨筆分類

          隨筆檔案

          framework

          j2me

          java

          linux

          web

          其他

          友情鏈接

          素材

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 花莲县| 河东区| 车险| 乐业县| 青川县| 牡丹江市| 兰考县| 德令哈市| 大足县| 锡林浩特市| 周至县| 容城县| 四平市| 尼木县| 新乐市| 扶沟县| 东安县| 惠水县| 三台县| 克什克腾旗| 土默特右旗| 顺昌县| 建昌县| 西贡区| 栾城县| 米泉市| 秭归县| 黑河市| 岫岩| 凌云县| 朔州市| 陇西县| 色达县| 抚顺县| 广东省| 贵阳市| 凌源市| 汤阴县| 渑池县| 榕江县| 秦皇岛市|