SYBASE字符集的配置

2021-10-09 13:40:18 字數 1981 閱讀 5733

一、修改客戶端字符集

檢視/sybase/locales/locales.dat

%sybase%/locales/locales.dat

找到對應作業系統下的字符集配置,如windows

[nt]

locale = enu, us_english, iso_1

locale = fra, french, iso_1

locale = deu, german, iso_1

locale = rus, russian, cp1251

locale = hun, us_english, cp1250

locale = ell, us_english, cp1253

locale = heb, us_english, cp1255

locale = ara, us_english, cp1256

locale = trk, us_english, cp1254

locale = esp, spanish, iso_1

locale = jpn, japanese, sjis

locale = japanese, japanese, sjis

locale = chs, chinese, eucgb

locale = cht, tchinese, big5

locale = kor, korean, cp949

locale = us_english.utf8, us_english, utf8

locale = default, us_english, cp936

找到對應locale=default的行

如上面為:   locale = default, us_english, cp936

檢視客戶端使用的字符集:

select @@client_csname

go二、修改伺服器字符集

select name,id from syscharsets

會列出字符集對應的id號,後續修改和查詢都可以上這個裡面來找id

檢視目前使用的字符集

sp_configure "default character set id"

記住run value值,比如是2

檢視系統當前支援的字符集

select name,id from master..syscharsets where id=2

go就可以查詢到系統當前使用的字符集名稱

或者使用如下命令查詢:

sp_helpsort

go修改字符集,找到你要更改的字符集名稱對應的id,用下面語句查詢:

select name,id from master..syscharsets

比如修改為cp936,id為171

sp_configure "default character set id",171

go重啟server兩次即可。

(注:第一次啟動後,server會自動宕掉,需要第二次重啟後才能使用)

三、如果沒有要安裝的字符集

如果想要修改的字符集不存在,需要先安裝字符集

命令列進入 \sybase\charsets\目錄

比如要安裝utf8,進入 \sybase\charsets\utf8目錄

要安裝cp936,進入 \sybase\charsets\cp936目錄

執行命令:charset -u使用者名稱 -p密碼 -s服務名 binary.src 要安裝字符集名

比如:charset -usa -p  -szxck binary.srt utf8

然後select name,id from master..syscharsets就可以查詢到了

四、已有資料如何轉換字符集

bcp方式加字符集引數,全庫bcp出來,然後修改字符集後再bcp回去,這裡就不贅述bcp的方法

關於sybase的字符集問題

關鍵字 ase 字符集 簡體中文 cp936 utf8 亂碼 將sybase的字符集調整為支援簡體中文的cp936字符集。步驟如下 這裡假設sybase的安裝路徑為c sybase 1.c cd sybase charsets cp936 2.c sybase charsets cp936 char...

Sybase 資料庫設定字符集

原文 檢視 sybase locales locales.dat sybase locales locales.dat 找到對應作業系統下的字符集配置,如windows nt locale enu,us english,iso 1 locale fra,french,iso 1 locale deu...

SYBASE資料庫字符集問題

最近做乙個專案,需要使用sybase資料庫。基本功能就是從sybase中讀取資訊在頁面顯示。頁面字符集是utf 8 sybase預設字符集是 encgb 本來功能是正常的。最近發現乙個問題,在資料庫中儲存一些生僻字後,如果直接用isql在sybase資料庫裡寫是可以正常儲存的。例如 喆,在資料庫裡儲...