- 論壇徽章:
- 7
|
首先:
1. 確認(rèn)ASE Server的default charset -- sp_configure "char"
2. 如果是utf-8或utf-16之類國標(biāo)字符集,那么再確認(rèn)所讀取表內(nèi)所存中文的編碼是否確實(shí)是utf-8或utf-16, 方式為用binary方式讀取其中幾個(gè)中文,然后對比一下bin code是否正確
3. 如果是GB2312,GBK或GB28312之類的,那么檢查客戶端讀取時(shí)的字符集設(shè)置,應(yīng)與server端相同, ODBC直接在data source上設(shè)置character set, JDBC在連接字上加"Charset=xxx"
4. 如果是iso_1的話,比較麻煩,因?yàn)闊o論數(shù)據(jù)源是哪種字符集都能正確寫入,然后按照asc讀取出來,這點(diǎn)必須同時(shí)確認(rèn)db內(nèi)記錄中文的表內(nèi)的coding字符集名稱,并對應(yīng)在客戶端上選擇性設(shè)置同樣的字符集方可(參考step3). 我見過某db用iso_1,結(jié)果內(nèi)部不同table使用不同char set的, 然后app的不同讀取request必須配置不同的連接字^  |
|