字符集的理解與亂碼的解決 必須作業系統字符集
1>這種情況下不會產生亂碼。
作業系統字符集 <=NLS_LANG (客戶端字符集 ) <=資料庫字符集 charactor set example:ZHS16GBK,AL32UTF8
1〉資料庫字符集 charactor set example:ZHS16GBK,AL32UTF8
2〉客戶端字符集 登錄檔 NLS_LANG ,LINUX下表現為profile
3〉作業系統字符集 控制皮膚 或c:>chcp 返回程式碼936 對應zhs16gbk
當這三個字符集能自由正確轉換,都能找到對應關係,將不再產生亂碼。
注意應用程式所採用的NLS_LANG以及所使用的ORACLE_HOME
2>產生亂碼的解決方式:
1〉認定是否是真正的亂碼。顯示是亂碼不代表資料庫儲存了不正確的資料。
2〉
1>Language 訊息。 Territory:貨幣,數字,地區和計算星期和日期
速記:按照日期,星期(兩期)計算地區數字貨幣。
注意事項:
1>當客戶端字符集與資料庫字符集一樣,作業系統字符集和資料庫字符集不一樣時,一旦作業系統輸入字元在資料庫中找不到
相應對映的字元程式碼 ,這個時候亂碼產生了。。。
2>
資料的儲存實際上要經過至少兩次轉化才能儲存在資料庫中,但是當NLS_LANG和資料庫一致時,只需要從作業系統字符集轉化為資料庫字符集。
3〉理解超集和子集。v$nls_valid_values.
很多朋友經常問起Oracle字符集子集與超級的對應關係,我將從Oracle8.1.6到9.2.0的對應關係列舉在這裡供大家參考.參考文件Metalink Doc: 119164.1
尤其是在時,大家應該參考此對應關係:
8.1.6 Subset/Superset Pairs
===========================
A. Current Char set B. New Char set (Superset of A.)
------------------- --------------------------------
US7ASCII WE8DEC
US7ASCII US8PC437
US7ASCII WE8PC850
US7ASCII IN8ISCII
US7ASCII WE8PC858
US7ASCII WE8ISO8859P1
US7ASCII EE8ISO8859P2
US7ASCII SE8ISO8859P3
US7ASCII NEE8ISO8859P4
US7ASCII CL8ISO8859P5
US7ASCII AR8ISO8859P6
US7ASCII EL8ISO8859P7
US7ASCII IW8ISO8859P8
US7ASCII WE8ISO8859P9
US7ASCII NE8ISO8859P10
US7ASCII TH8TISASCII
US7ASCII BN8BSCII
US7ASCII VN8VN3
US7ASCII VN8MSWIN1258
US7ASCII WE8ISO8859P15
US7ASCII WE8NEXTSTEP
US7ASCII AR8ASMO708PLUS
US7ASCII EL8DEC
US7ASCII TR8DEC
US7ASCII LA8PASSPORT
US7ASCII BG8PC437S
US7ASCII EE8PC852
US7ASCII RU8PC866
US7ASCII RU8BESTA
US7ASCII IW8PC1507
US7ASCII RU8PC855
US7ASCII TR8PC857
US7ASCII CL8MACCYRILLICS
US7ASCII WE8PC860
US7ASCII IS8PC861
US7ASCII EE8MACCES
US7ASCII EE8MACCROATIANS
US7ASCII TR8MACTURKISHS
US7ASCII EL8MACGREEKS
US7ASCII IW8MACHEBREWS
US7ASCII EE8MSWIN1250
US7ASCII CL8MSWIN1251
US7ASCII ET8MSWIN923
US7ASCII BG8MSWIN
US7ASCII EL8MSWIN1253
US7ASCII IW8MSWIN1255
US7ASCII LT8MSWIN921
US7ASCII TR8MSWIN1254
US7ASCII WE8MSWIN1252
US7ASCII BLT8MSWIN1257
US7ASCII N8PC865
US7ASCII BLT8CP921
US7ASCII LV8PC1117
US7ASCII LV8PC8LR
US7ASCII LV8RST104090
US7ASCII CL8KOI8R
US7ASCII BLT8PC775
US7ASCII WE8DG
US7ASCII WE8NCR4970
US7ASCII WE8ROMAN8
US7ASCII WE8MACROMAN8S
US7ASCII TH8MACTHAIS
US7ASCII HU8CWI2
US7ASCII EL8PC437S
US7ASCII LT8PC772
US7ASCII LT8PC774
US7ASCII EL8PC869
US7ASCII EL8PC851
US7ASCII CDN8PC863
US7ASCII HU8ABMOD
US7ASCII AR8ASMO8X
US7ASCII AR8NAFITHA711T
US7ASCII AR8SAKHR707T
US7ASCII AR8MUSSAD768T
US7ASCII AR8ADOS710T
US7ASCII AR8ADOS720T
US7ASCII AR8APTEC715T
US7ASCII AR8NAFITHA721T
US7ASCII AR8HPARABIC8T
US7ASCII AR8NAFITHA711
US7ASCII AR8SAKHR707
US7ASCII AR8MUSSAD768
US7ASCII AR8ADOS710
US7ASCII AR8ADOS720
US7ASCII AR8APTEC715
US7ASCII AR8MSAWIN
US7ASCII AR8NAFITHA721
US7ASCII AR8SAKHR706
US7ASCII AR8ARABICMACS
US7ASCII LA8ISO6937
US7ASCII JA16VMS
US7ASCII JA16EUC
US7ASCII JA16SJIS
US7ASCII KO16KSC5601
US7ASCII KO16KSCCS
US7ASCII KO16MSWIN949
US7ASCII ZHS16CGB231280
US7ASCII ZHS16GBK
US7ASCII ZHT32EUC
US7ASCII ZHT32SOPS
US7ASCII ZHT16DBT
US7ASCII ZHT32TRIS
US7ASCII ZHT16BIG5
US7ASCII ZHT16CCDC
US7ASCII ZHT16MSWIN950
US7ASCII AL24UTFFSS
US7ASCII UTF8
US7ASCII JA16TSTSET2
US7ASCII JA16TSTSET
8.1.7 Additions
===============
US7ASCII ZHT16HKSCS
US7ASCII KO16TSTSET
WE8DEC TR8DEC
WE8DEC WE8NCR4970
WE8PC850 WE8PC858
D7DEC D7SIEMENS9780X
I7DEC I7SIEMENS9780X
WE8ISO8859P1 WE8MSWIN1252
AR8ISO8859P6 AR8ASMO708PLUS
AR8ISO8859P6 AR8ASMO8X
IW8EBCDIC424 IW8EBCDIC1086
IW8EBCDIC1086 IW8EBCDIC424
LV8PC8LR LV8RST104090
DK7SIEMENS9780X N7SIEMENS9780X
N7SIEMENS9780X DK7SIEMENS9780X
I7SIEMENS9780X I7DEC
D7SIEMENS9780X D7DEC
WE8NCR4970 WE8DEC
WE8NCR4970 TR8DEC
AR8SAKHR707T AR8SAKHR707
AR8MUSSAD768T AR8MUSSAD768
AR8ADOS720T AR8ADOS720
AR8NAFITHA711 AR8NAFITHA711T
AR8SAKHR707 AR8SAKHR707T
AR8MUSSAD768 AR8MUSSAD768T
AR8ADOS710 AR8ADOS710T
AR8ADOS720 AR8ADOS720T
AR8APTEC715 AR8APTEC715T
AR8NAFITHA721 AR8NAFITHA721T
AR8ARABICMAC AR8ARABICMACT
AR8ARABICMACT AR8ARABICMAC
KO16KSC5601 KO16MSWIN949
WE16DECTST2 WE16DECTST
WE16DECTST WE16DECTST2
9.0.1 Additions
===============
US7ASCII BLT8ISO8859P13
US7ASCII CEL8ISO8859P14
US7ASCII CL8ISOIR111
US7ASCII CL8KOI8U
US7ASCII AL32UTF8
BLT8CP921 BLT8ISO8859P13
US7ASCII AR8MSWIN1256
UTF8 AL32UTF8 (added in patchset 9.0.1.2)
Character Set Subset/Superset Pairs Obsolete from 9.0.1
=======================================================
US7ASCII AR8MSAWIN
AR8ARABICMAC AR8ARABICMACT
9.2.0 Additions
===============
US7ASCII JA16EUCTILDE
US7ASCII JA16SJISTILDE
US7ASCII ZHS32GB18030
US7ASCII ZHT32EUCTST
WE8ISO8859P9 TR8MSWIN1254
LT8MSWIN921 BLT8ISO8859P13
LT8MSWIN921 BLT8CP921
BLT8CP921 LT8MSWIN921
AR8ARABICMAC AR8ARABICMACT
ZHT32EUC ZHT32EUCTST
UTF8 AL32UTF8
Character Set Subset/Superset Pairs Obsolete from 9.2.0
=======================================================
LV8PC8LR LV8RST104090
網路上的這篇文章寫的法不錯,關於亂碼的,如下:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8568259/viewspace-2112820/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL字符集亂碼與解決方案MySql
- 程式設計師必須知道的字符集與字元編碼詳解程式設計師字元
- MySQL 字符集與亂碼與collation設定的問題?MySql
- 深入理解Emoji(一) —— 字符集,字符集編碼
- 字符集與編碼
- linux出現故障字符集亂碼故障排查思路Linux
- mysql亂碼?一勞永逸修改mysql字符集!MySql
- iOS CharacterSet(字符集)簡單理解iOS
- 企業使用ERP系統必須瞭解的注意事項
- 關於Linux作業系統,這些你必須知道!Linux作業系統
- SQLServer的排序規則(字符集編碼)SQLServer排序
- maven中如何指定原始碼的字符集Maven原始碼
- 我對作業系統的理解作業系統
- 字符集編碼(三):UnicodeUnicode
- 字符集編碼(四):UTF
- 中高階前端必須瞭解的--陣列亂序前端陣列
- 字符集
- mysql 解決字符集錯誤 正確摘錄MySql
- 傳統生鮮配送企業必須要解決的幾個問題
- 關於mysql查詢字符集不匹配問題的解決方法MySql
- 從根上理解 MySQL 的字符集和比較規則MySql
- 字符集編碼(上):Unicode 之前Unicode
- MySQL字符集MySql
- Tomcat字符集Tomcat
- 必須理解的分散式系統中雷同的叢集技術及原理分散式
- GB 2312字符集:中文編碼的基石
- 作業系統(自己理解)作業系統
- 關於Oracle 9i字符集問題的解決辦法FCOracle
- PYTHON3 cx-Oracle 字符集 轉換錯誤的解決方案PythonOracle
- 38、字符集_2(匯出匯入指定字符集)
- 2023 CDO必須關注的系統
- 必須相容中國芯 國產作業系統將崛起抗衡Windows?作業系統Windows
- 字符集編碼(二):字元編碼模型字元模型
- 聊一聊MySQL的字符集MySql
- 不同字符集倒庫的方法
- win10系統下PDF檔案亂碼的解決方法Win10
- PostgreSQLsql檔案編碼引起的資料匯入亂碼或查詢字符集異常報錯(invalidbytesequence)SQL
- 2.作業系統的理解幫助後續理解作業系統
- 檢查字串的byte[]是什麼編碼字符集字串