sybase iq数据库load表字符集乱码

本文介绍了解决Sybase IQ数据库导入文件时出现乱码的问题。通过调整文件编码及客户端字符集设置,成功避免了中文乱码的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

公司领导要我导一个文件到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/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”

自此导表就不会出现中文显示乱码咯!

 

 

 

转载于:https://my.oschina.net/u/1866459/blog/393079

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值