sybase中的字符集轉換
為保持客戶端與伺服器之間的資料完整性,資料必須在字符集之間進行轉換,目的是跨機器和字符集使用時,確保“a”還是“a”,此過程就是字符集轉換。
字符集轉換的方式:
本地字符集的轉換:
Adaptive Server支援屬於同一語言組的本地字符集之間的轉換。如果伺服器把一種本地字符集作為它的預設值,則客戶端字符集必須屬於同一個語言組,此時可以在伺服器上瀏覽所有客戶端提交的資料。
Adaptive Server支援屬於同一語言組的本地字符集之間的轉換。如果伺服器把一種本地字符集作為它的預設值,則客戶端字符集必須屬於同一個語言組,此時可以在伺服器上瀏覽所有客戶端提交的資料。
伺服器端與客戶端使用的語言集與字符集都同屬於組,那麼他們之間實現的就是本地字符集轉換方式。
Unicode系統中的轉換方式:
在Unicode系統中,由於伺服器的預設字符集為UTF-8,所以客戶端字符集可以是任何語言組中的一種本地字符集。來自每一個客戶端的資料經過伺服器和每個客戶端時,都會被正確轉換,而無論每一個客戶端選擇的時哪個語言組的字符集,原因是ASE伺服器端選擇了預設字符集UTF-8.
在Unicode系統中,由於伺服器的預設字符集為UTF-8,所以客戶端字符集可以是任何語言組中的一種本地字符集。來自每一個客戶端的資料經過伺服器和每個客戶端時,都會被正確轉換,而無論每一個客戶端選擇的時哪個語言組的字符集,原因是ASE伺服器端選擇了預設字符集UTF-8.
字符集轉換型別:
直接轉換:
支援同一語言組內兩種本地字符集之間的轉換。例如,Adaptive Server支援CP437與CP850之間的轉換,因為他們同屬於第1語言組。
支援同一語言組內兩種本地字符集之間的轉換。例如,Adaptive Server支援CP437與CP850之間的轉換,因為他們同屬於第1語言組。
Unicode轉換:
Unicode轉換可應用於所有本地字符集,在兩種本地字符集之間進行轉換時,Unicode轉換方式把Unicode作為中間字符集。
Unicode轉換可應用於所有本地字符集,在兩種本地字符集之間進行轉換時,Unicode轉換方式把Unicode作為中間字符集。
例如,在伺服器預設字符集CP437和客戶端字符集CP860之間進行轉換時,CP437先被轉換成Unicode,Unicode再轉換成CP860。
Unicode轉換方式既可以用於伺服器預設字符集UTF-8,還可用於本地字符集。除非使用伺服器預設字符集UTF-8,
否則您必須專門配置您的伺服器才能使用Unicode轉換方式(配置方法請參看配置篇之如何配置字符集的轉換型別)。
選擇字符集的轉換方式
這將取決於系統的型別。在非Unicode系統中,伺服器和客戶端的字符集為本地字符集,因此可以使用Adaptive Server直接轉換,但是有些字符集沒有直接轉換,這種情況就必須使用Unicode轉換了。
――如果系統中使用的所有字符集都在表1-5的列1中,則使用直接轉換。前提是所有字符集同屬於一個語言組。
――如果系統中使用的所有字符集都在表1-5的列2中,或者有些在列1中,有些在列2中,那麼必須配置伺服器使用Unicode轉換方式。 前提是所有字符集同屬於一個語言組。
這將取決於系統的型別。在非Unicode系統中,伺服器和客戶端的字符集為本地字符集,因此可以使用Adaptive Server直接轉換,但是有些字符集沒有直接轉換,這種情況就必須使用Unicode轉換了。
――如果系統中使用的所有字符集都在表1-5的列1中,則使用直接轉換。前提是所有字符集同屬於一個語言組。
――如果系統中使用的所有字符集都在表1-5的列2中,或者有些在列1中,有些在列2中,那麼必須配置伺服器使用Unicode轉換方式。 前提是所有字符集同屬於一個語言組。
在Unicode系統中,如果伺服器預設字符集為Unicode UTF-8,那麼所有的轉換將在UTF-8與客戶端使用的本地字符集之間進行,因此,在Unicode系統中,只能使用Unicode轉換。
還是官方文件寫得細緻啊!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22363020/viewspace-695116/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 字符集轉換
- sybase字符集與排序操作排序
- imp/exp 字符集轉換
- 字符集合轉換問題
- 如何在sybase中安裝cp936字符集
- 遷移資料時oracle字符集的轉換遷移資料時oracle字符集的轉換Oracle
- oracle資料庫字符集的轉換Oracle資料庫
- Linux下轉換字符集(UTF8轉換)Linux
- oracle字符集轉換分析工具Oracle
- 【Mysql】iconv 轉換字符集MySql
- 再論字符集轉換(二)
- CSSCAN掃描字符集轉換耗損CSS
- MySQL修改字符集(mysqldump轉換全庫)MySql
- 巧妙轉換ORACLE資料庫字符集Oracle資料庫
- TurboLinux 下的SYBASE安裝(轉)Linux
- Oracle 11g rac資料庫字符集轉換Oracle資料庫
- ora2pg 字符集 轉換問題總結
- SYBASE程式設計中的莫名錯誤及其解決辦法 (轉)程式設計
- 解決Sybase ASE中的dbisql (interactive sql)和Sybase SQL Anywhere中的dbisql相互打架問題SQL
- 使用Ccscan進行資料字符集轉換驗證(上)
- 使用Ccscan進行資料字符集轉換驗證(下)
- oracle字符集轉換(ZHS16GBK轉AL32UTF8)Oracle
- MySQL字符集設定及字元轉換(latin1轉utf8)MySql字元
- JS中的"=="轉換規則JS
- SAP eccs中的匯率轉換
- java中的型別轉換Java型別
- 理解Sybase ASE資料庫中的索引資料庫索引
- oracle字符集的更改【轉】Oracle
- 用VC訪問Sybase資料庫(用Sybase提供的ct-library介面) (轉)資料庫
- US7ASCII字符集轉換為ZHS16GBKASCII
- mysql 字符集 latin1 轉換utf8血淚史 。MySql
- 轉_oracle的字符集_源於多位元組字符集Oracle
- (6)mysql 中的字符集MySql
- PYTHON3 cx-Oracle 字符集 轉換錯誤的解決方案PythonOracle
- C++中的向上型別轉換和向下型別轉換C++型別
- python中的型別轉換Python型別
- Oracle中的進位制轉換Oracle
- oracle 字符集 (轉)Oracle