標籤:
公司領導要我導一個檔案到sybase iq資料庫一張表中,load表語句如下:
load table kyfx_ci_loc( city_name ‘,‘, county_id ci_name ‘,‘, ci_section ‘,‘, ci_id ‘,‘, ci_longtitude_gps ‘,‘, ci_latitude_gps ‘,‘, ci_longtitude_baidu ‘,‘, ci_latitude_baidu 0x0a) using file ‘/home/sybase/baidulocations.txt‘ quotes off escapes off go
導完以後從用戶端查看發現字元集亂碼,我開始查看是不是檔案字元編碼問題;
於是我在vi中查看檔案修改檔案字元編碼
:set fileencoding=utf-8
同時也使用enca轉換檔字元編碼集
enca -L zh_CN file
檢查檔案的編碼
enca -L zh_CN -x UTF-8 file
將檔案編碼轉換為"UTF-8"編碼
enca -L zh_CN -x UTF-8 file1 file2
如果不想覆蓋原檔案可以這樣
然後我查看sybase iq伺服器和用戶端的字元編碼
查看資料庫字元集:
select db_property(‘collation‘)
或者
select db_property(‘CharSet‘)
查看用戶端字元集:
select connection_property ( ‘charset‘ )
得知服務端和用戶端字元集均為iso_1
我想如何修改用戶端字元集為cp936,我於是查看機器的字元編碼
cat /etc/sysconfig/i18nLANG="en_US.UTF-8"SYSFONT="latarcyrheb-sun16"
於是修改/etc/sysconfig/i18n
LANG="zh_CN.UTF-8"SUPPORTED=”zh_CN.GB2312:zh_CN:zh:en_US.UTF-8:en_US:en”
自此導表就不會出現中文顯示亂碼咯!
sybase iq資料庫load表字元集亂碼