- JDBC Driver Verison
目前測試過有使用 2.2版,以及3.5版,而3.5版的對於非合法字元集的字碼會直接丟出 encoding or code set not supported,基於這樣的
理由,於是必須在連線字串中補上 IFX_USE_STRENC= true; 的設定,只是這些無法顯示的字元內容就會直接被轉成問號了。
若使用舊版的v2.2則不會有這個狀況,畫面上只會顯示方框,表示無法呈現該字體內容。
--> 所以,我大膽假設,現在存在DB中的自造字使用的Hex Code,說不定並非合法的Big5自造字,可是卻又不能直接resultSet.getBytes(column),這樣呼叫會導致系統直接拋出 encoding or code set not supported真的很詭異!!
- JDBC Connection Properties
綜合整理以下的各種參數
NEWLOCALE=<JDK locale>,<Ifx locale>:<JDK locale>,<Ifx locale>...
NEWCODESET=<JDK encoding>,<Ifx codeset name>,
<Ifx codeset number>:<JDK encoding>,<Ifx codeset name>,<Ifx codeset number>...
NEWLOCALE=zh_TW,zh_tw
NEWCODESET=MS950,big5,57352
DB_LOCALE=zh_tw.big5
SERVER_LOCALE=zh_tw.big5
CLIENT_LOCALE=zh_tw.big5
- 相關連結資訊
全字庫Big5解說
http://www.cns11643.gov.tw/AIDB/encodings.do#encode4
informix developer's guide
http://publib.boulder.ibm.com/infocenter/idshelp/v10/index.jsp?topic=/com.ibm.jfoun.doc/jfoun42.htm
informix supported code set
jdk supported locale
http://download.oracle.com/javase/1.5.0/docs/guide/intl/locale.doc.html
jdbc driver support APIs
java encoding and charset
http://www.websina.com/bugzero/kb/java-encoding-charset.html
1 則留言:
感謝您的分享,竟然幫我解決了java讀取informix造字的問題,我找了好幾天哪,感激不盡^^
張貼留言