posts - 31,  comments - 31,  trackbacks - 0
                今天用sun的jdk調(diào)的沒有一點(diǎn)問題的數(shù)據(jù)抽取程序,方放到AIX上后不能用了,oralce報出向一個字段中插入了過長的數(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的時候就會由于字符集不匹配而報錯
          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

          其他

          友情鏈接

          素材

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 福州市| 南投县| 遵化市| 宜黄县| 西华县| 阿瓦提县| 万源市| 宁乡县| 洞口县| 资溪县| 临汾市| 佛学| 陆良县| 信丰县| 元氏县| 内黄县| 三门县| 肃南| 安远县| 南宫市| 钟祥市| 正蓝旗| 安乡县| 会泽县| 元谋县| 河东区| 赣州市| 治县。| 保康县| 宁陕县| 游戏| 辽阳县| 峡江县| 巫山县| 大姚县| 琼海市| 开平市| 邹城市| 霍邱县| 海晏县| 紫金县|