全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:3322
推到 Plurk!
推到 Facebook!

Oracle XE Character set ZHT16MSWIN950 問題

缺席
herbert2
尊榮會員


發表:58
回覆:632
積分:878
註冊:2004-04-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2010-10-15 14:04:31 IP:202.39.xxx.xxx 訂閱
XE Server 安裝於 Windows Server,NLS_LANG 自動設為 TRADITIONAL CHINESE_TAIWAN.ZHT16MSWIN950。
照理說,ZHT16MSWIN950 之中文字,每字應是16 Bit;但 SELECT LENGTHB('台北市中山區') FROM DUAL 卻得 18 而非 12?!
INSERT INTO ZipCode VALUES('104','台北市中山區') 會得 ORA-12899 超長的 Error (VARCHAR2(14) 無法填入6個中文字)!
經將 Server 之 Character set 改為 ZHT16BIG5 則似忽變正常,6個中文字之 LENGTHB() 為 12。
但如此一來,進 iSQL*Plus 時,系統的中文字就都變亂碼了!
可是,Client 端於 SQL*Plus 故意執行錯誤的 SQL,卻出現正確的中文訊息,真令人搞不懂!
不知道 Oracle 10g Patch 前、後,是否也有同樣的問題?

herbert2
尊榮會員


發表:58
回覆:632
積分:878
註冊:2004-04-16

發送簡訊給我
#2 引用回覆 回覆 發表時間:2010-10-24 23:51:00 IP:202.39.xxx.xxx 訂閱
經反覆用不同的 NLS_LANG 環境變數重裝測試,及安裝 10g 10.2.0.3 測試,
證實 ZHT16MSWIN950 之中文每字 2 Byte 且支援 User 造字,
Oracle XE Universal 版 for Taiwan 之安裝有 BUG,
只能於安裝後修改 NLS_CHARACTERSET,
但如此一來,iSQL*Plus 就無法使用了。
GrandRURU
站務副站長


發表:237
回覆:1658
積分:1759
註冊:2005-06-21

發送簡訊給我
#3 引用回覆 回覆 發表時間:2010-10-25 08:22:51 IP:203.75.xxx.xxx 未訂閱
真是漫長的測試過程...謝謝分享

有嚐試過在ZHT16MSWIN950環境下採用支援Unicode iSQL*plus嗎?

另外,這篇或許對你有幫助

引用部分資料:
In a client server configuration the conversion is based on the database character set. So when your data is not a subset of the database character set it cannot be converted and ends up as replacements characters in your NCHAR columns. This has been addressed in 10gR2. You can use the UNISTR function to enter the data as Christian mentioned in the other thread.
Note that SQL*PLUS is not going to be able to display Greek data if the OS locale does not support Greek. iSQL*PLUS can be used to display multilingual data.

===================引 用 herbert2 文 章===================
經反覆用不同的 NLS_LANG 環境變數重裝測試,及安裝 10g 10.2.0.3 測試,
證實 ZHT16MSWIN950 之中文每字 2 Byte 且支援 User 造字,
Oracle XE Universal 版 for Taiwan 之安裝有 BUG,
只能於安裝後修改 NLS_CHARACTERSET,
但如此一來,iSQL*Plus 就無法使用了。
編輯記錄
GrandRURU 重新編輯於 2010-10-24 18:25:37, 註解 無‧
herbert2
尊榮會員


發表:58
回覆:632
積分:878
註冊:2004-04-16

發送簡訊給我
#4 引用回覆 回覆 發表時間:2010-10-27 23:59:15 IP:202.39.xxx.xxx 訂閱
該段說明只針對 silent installation, OracleXE-install.iss 檔中無法設定 NLS_CHARACTERSET (10g GUI Installer 可以).

總之, 這些大廠常自己都沒測就發行了, 反正自然有全球的白老鼠幫它測. 正版還會 patch, Free 版就自求多福了!
系統時間:2018-01-20 8:51:18
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!