Re: [問題] Oracle - 字元儲存在Varchar2內的代碼

看板Database作者 (ing)時間12年前 (2011/09/29 00:14), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《gimmy731031 (yuancheng)》之銘言: : 標題: [問題] Oracle - 字元儲存在Varchar2內的代碼 : 時間: Sat Sep 24 14:43:23 2011 : -- : ※ 發信站: 批踢踢實業坊(ptt.cc) : ◆ From: 218.211.83.106 : → iFEELing:TRY RAWTOHEX() 09/24 16:50 : → gimmy731031:樓上大大誤會我的意思了~我的意思是Oracle是用什麼代 09/24 17:55 : → gimmy731031:碼,不是指編碼方式。eg:'!'是用0000000000000021存入 09/24 23:57 : → gimmy731031:想確定那串代碼是什麼@@" 09/25 00:36 : → gimmy731031:回饋一下鄉民 預設值是UTF-8 可用SQL與法看出 09/27 21:45 http://www.asciitable.com/ 1. '!' 就是 0x21 ... 2. Oracle default charset 依照你安裝時的設定決定, 沒有特別指定的話 Oracle 會依據環境變數決定。 比如在正體中文Windows上安裝,charset 很有可能是 ZHT16MSWIN950 而 National Charset 則通常會是 AL32UTF8 (? 如果你裝的是 UN*X 則有可能你的 Charset 會是 UTF-8 3. 你的字元(character) 存進 Oracle 的時候,Driver會依據 client/server 端 的 NLS_LANG 決定要轉成什麼樣的編碼(或不轉)再存進資料庫。 4. RAWTOHEX() 幫你把原始資料(RAW) 的 BYTE 轉成 十六進位方式 (HEX) 顯示給你看 5. 在 UTF-8 當中 '!' 也是 0x21 , 因為 ascii 的字在 UTF-8 中幾乎都是原字碼 6. 你可以用 RAWTOHEX 看看把中文字存進欄位後會讀什麼出來。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.46.118.40 ※ 編輯: iFEELing 來自: 114.46.118.40 (09/29 00:14)

09/29 22:15, , 1F
感謝iFEELing大~又學到很多東西,感恩感恩^^~
09/29 22:15, 1F
文章代碼(AID): #1EWqViyr (Database)
文章代碼(AID): #1EWqViyr (Database)