sybase iq數據庫load表字符集亂碼

公司領導要我導一個文件到sybase iq數據庫一張表中,load表語句以下:sql

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

導完之後從客戶端查看發現字符集亂碼,我開始查看是否是文件字符編碼問題;shell

因而我在vi中查看文件修改文件字符編碼數據庫

:set fileencoding=utf-8

同時也使用enca轉換文件字符編碼集服務器

enca -L zh_CN file

檢查文件的編碼編碼

enca -L zh_CN -x UTF-8 file

將文件編碼轉換爲"UTF-8"編碼code

enca -L zh_CN -x UTF-8 file1 
file2

若是不想覆蓋原文件能夠這樣utf-8

而後我查看sybase iq服務器和客戶端的字符編碼ci

查看數據庫字符集:
it

select db_property('collation')

或者io

select db_property('CharSet')



查看客戶端字符集:

select connection_property ( 'charset' )

得知服務端和客戶端字符集均爲iso_1

我想如何修改客戶端字符集爲cp936,我因而查看機器的字符編碼

cat /etc/sysconfig/i18n
LANG="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」

自此導表就不會出現中文顯示亂碼咯!

相關文章
相關標籤/搜索