作者sthermit ( )
看板Database
標題[討論] 關於oracle SQL 的問題
時間Mon Jan 4 12:15:49 2016
各位好
最近使用這個工具時出現了一些問題,google找不到資料,在這邊請各位幫幫忙
原始的情況
遠端DB使用ISO-8859-1的編碼
把developer抓下來之後,查詢client的編碼也是iso-8859-1
遇到中文字,將文字轉換成iso-8859-1編碼後再貼至工作表
執行後可以正常的對資料庫做查詢跟插入
最近因為有些中文字此編碼無法支援
將欄位改成NVarChar後
1.
在工作表上想要新增資料,遇到中文字,插入後都會是???(亂碼)
轉換成UTF-8編碼後再用工作表插入也是一樣
試過在文字的前面加上N跟未加上N,都一樣是???
2.
如果以這個欄位為條件搜尋,會無法撈出資料
可是全部搜尋,此欄位的中文字可以正常顯示
請問各位發生這個情況的原因可能是什麼?
有沒有什麼方法可以解決呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.22.92.217
※ 文章網址: https://www.ptt.cc/bbs/Database/M.1451880952.A.21C.html
※ 編輯: sthermit (211.22.92.217), 01/04/2016 17:37:07
※ 編輯: sthermit (211.22.92.217), 01/04/2016 17:37:48
→ kobedisel: 請問工作表是指excel?另外client的nls_lang設定為何? 01/06 10:49
→ kobedisel: 以及在oracle資料庫當你把欄位modify成nvarchar2時, 01/06 10:49
→ kobedisel: 此時該table column的所有字自動會convert 成nvarchar2 01/06 10:49
→ kobedisel: 的內碼 01/06 10:49
→ kobedisel: 要確認該欄位字的內碼及編碼可以利用select dump(colum 01/06 10:51
→ kobedisel: n_name,1016),column_name frim table 查看 01/06 10:51
→ bij831: 你的client軟体也要是iso-8859-1然後可以"看到"中文,你的 01/07 19:14
→ bij831: 中文就不會有問題,而user看到的??是因為iso-8859-1轉成 01/07 19:15
→ bij831: user軟体用的編碼沒有對應的字,所以顯示??? 01/07 19:16
→ bij831: oracle有提供一個軟体可看字形檔lbuilder,轉換後對應不到 01/07 19:20
→ bij831: 就會顯示???了 01/07 19:20