台灣最大程式設計社群網站
線上人數
1181
 
會員總數:246046
討論主題:189630
歡迎您免費加入會員
討論區列表 >> Oracle >> 請問我使用big5的開發工具如果顯示資料庫取得之UTF8文字?
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
請問我使用big5的開發工具如果顯示資料庫取得之UTF8文字?
價值 : 20 QP  點閱數:2034 回應數:3
樓主

Eric16899
初學者
598 136
1829 306
發送站內信

請問我使用big5的開發工具(PowerBilder8)
設定ODBC 連ORACLE11G (UTF8)
資料庫連得上但資料顯示亂碼
google 找當資料 說可將UTF8轉BIG5 進行顯示
但我試了之後仍沒法顯然正常...
請問要如何解決??

找到的語法
tSubinvName := convert(substrb(rpad(tSubinvName,50,' '),1,50),'ZHT16BIG5','UTF8');

測試語法
SELECT Book_Name,
convert(substrb(rpad(Book_Name,50,' '),1,50),'UTF8','ZHT16BIG5') as B_Title
FROM BOOK_DB

DB
Oracle dbcharset TRADITIONAL CHINESE_TAIWAN.AL32UTF8

有須要在SQL 加上
TO_CHAR (SYSDATE, 'DD/MON/YYYY','nls_date_language=''Traditional Chinese'' ')
??



本篇文章發表於2014-11-20 16:50
1樓
回應

四百龍銀
檢舉此回應
會不會是型態轉換的差別
Varchar turn to Nvarchar is ok
but
Nvarchar turn to Varchar is not ok
本篇文章回覆於2014-11-20 17:36
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
最有價值解答

花旗蔘
檢舉此回應
這問題應與nls_lang有關
我沒用過PB,故請先check在pb裡是否有關於nls_lang的參數可設定,
或是在win的系統變數加上nls_lang。

至於設定 下面兩種都試試
NLS_LANG=TRADITIONAL CHINESE_TAIWAN.AL32UTF8
or
NLS_LANG=TRADITIONAL CHINESE_TAIWAN.ZHT16MSWIN950
本篇文章回覆於2014-11-21 02:10
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

Eric16899
檢舉此回應
不好意思先不管PB..
請問

問題(A)
裝好ORACLE PC regedit 內的 NLS_LANG==>TRADITIONAL CHINESE_TAIWAN.ZHT16MSWIN950
我公司的DB主機上是 TRADITIONAL CHINESE_TAIWAN.AL32UTF8
這樣的設定是正確??
還是個人電腦上的設定也要跟 DB主機 相同??


問題(B)
開發工具連ORACLE主機的設定參數
假設要設定成 TRADITIONAL CHINESE_TAIWAN.ZHT16MSWIN950
NLS_Charse是要設定 'ZHT16MSWIN950' 還是要設'TRADITIONAL CHINESE_TAIWAN.ZHT16MSWIN950'

EX:
DBParm = "NLS_Charset='TRADITIONAL CHINESE_TAIWAN.ZHT16MSWIN950'" 或 DBParm = "NLS_Charset='ZHT16MSWIN950'"

麻煩了

本篇文章回覆於2014-11-22 00:47
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.