部署測試環境時常遇到 Sybase 讀取中文出現亂碼,主因是預設字符集非 CP936(簡體中文)。本文整理從安裝字符集、調整系統表空間、重新執行初始化腳本的完整排錯流程,助您一次解決亂碼困擾。
Sybase 預設未內建 CP936,需手動安裝:
cd sybase\charsets\cp936
charset -Usa -Psa_pass -Sserver_name binary.srt cp936
執行後必須重啟 Sybase 服務兩次才會生效。可查詢 master..syscharsets 確認是否出現 id=171, name=cp936。
在 Sybase Central 屬性頁將 Default Character Set ID 設為 171。若報錯「表空間不足」,請對 master 資料庫右鍵→屬性→表空間分頁,將現有表空間擴大(建議配置至少 50MB),再重啟服務。

字符集切換後,原以 CP850 執行的腳本產生的資料在 CP936 環境下會亂碼,務必在新字符集環境下完整重跑所有初始化腳本,即可恢復正常顯示。