Chinaunix

标题: 请教一个关于sybase字符集的问题??? [打印本页]

作者: devilring    时间: 2012-07-12 16:14
标题: 请教一个关于sybase字符集的问题???
本帖最后由 devilring 于 2012-07-12 16:15 编辑

实际情况是这样,我们原有的生产系统使用的是sybase12.5,字符集设定的是171,即CP936;
后来sybase的人过来给我们定制复制服务器的时候,重新安装的数据库和replication server都是使用的2,即cp850;
他们是直接恢复数据库用的dump方式,貌似原数据中的中文正确的导入了数据库(因为他们做的时候我不在现场,所以具体有没有丢失数据我也不确认);
但是现在我们在使用数据的时候发现很多问题,大家都知道cp850的字符集缺少很多中文字的支持,所以目前我们在用应用系统插入中文数据的时候经常会出现错误,因为应用客户端大多数都是用的cp936的字符集支持,不知道有什么好办法能解决现在的问题吗?
因为是生产系统,又没有备用机器,所以我无法采用之前的dump方式来重新做数据,我曾经做过如下尝试,但是不成功;
1、我将某张表的数据使用cp850的方式导出,再用cp936的格式导入,结果导入直接报错,不能导入,说是字符集错误;
2、我将sybase客户端改成iso_1,导出数据,然后再导入测试库,可以导入,但是是乱码,改成cp936格式导入,还是乱码;
3、在cp850格式下使用sql将数据生成insert语句方式导出,再将数据库的字符集格式从cp850改成cp936,运行insert语句,大部分数据能导入,但是某些特殊中文则无法导入,比如 喆 这个字等,这就造成如果我用这种方式能导入大部分数据,但会缺失一部分数据;

不知有什么好的解决办法?
作者: zhaopingzi    时间: 2012-07-12 17:20
本帖最后由 zhaopingzi 于 2012-07-12 17:20 编辑

  1. 你把复制服务器的字符集改成cp936
复制代码





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2