Thursday, November 24, 2011

Encoding or code set not supported


-79783 Encoding or code set not supported
The encoding or code set entered in the DB_LOCALE or CLIENT_LOCALE
variable is not valid. Check the "Informix JDBC Driver Programmer's Guide"
for valid code sets.

當存單一英文字母時,是沒有問題的;
但是存一個中文字時,就會出現這個SQL Exception

而,這個table的欄位,我是這樣開的:colName   NVARCHAR(1),
因為需求是,只會存單一個字元

資料庫是 informix ,jsp的編碼是utf-8,資料庫連線設定是:
   1: jdbc:informix-sqli://localhost:9088/ibm:informixserver=ol_informix1170;NEWCODESET=utf8,8859-1,819

解法很奇怪:

把 資料庫欄位的長度加到四,colName   NVARCHAR(4),
沒有改任何設定,資料就可以正常搜尋出來了
或許是 utf-8 編碼用到四個 byte !?