关于sybase的字符集问题

将Sybase的字符集调整为支持简体中文的cp936字符集。

 步骤如下:

(这里假设SYBASE的安装路径为c:\sybase) 
1.c:\>cd \sybase\charsets\cp936
2.c:\sybase\charsets\cp936> charset -U用户名 -P密码 -S数据库服务器名称 binary.srt cp936

更改默认字符集为cp936
3.在SQL环境中
1>select name,id from syscharsets(会列出字符集对应的id号)
2>go
找到name为cp936对应的id(假设为171)
.1>sp_configure "default character set id",171
2>go
5.重启server两次
(注:第一次启动后,server会自动宕掉,需要第二次重启后才能使用)

启动之后,要清空日志。应该是sybase日志恢复时不会转换字符集吧,所以先前的日志没有作用了。要及时清除掉!
清空提交日志dump tran dbname with  truncate_only

=====================================================================

SYBASE使用utf8字符集出现乱码问题的解决

于国际化的原因,现在使用sybase15.0.3字符集utf8作为默认字符集,现在客户端与服务端一致都配置成为 locale=default,us_english,utf8 ,发现使用客户端写入数据后,汉字全为乱码。在isql下用iso_1,cp850字符集连接上,查询已有数据汉字全为乱码。

解决的办法:

将客户端改为cp936,或者在isql连接的时候指定字符集为简体中文字符集cp936即-Jcp936。

问题解决!

ps:在isql查看客户端字符集为:select @@client_csname
查看服务器的默认排序顺序:sp_configure "default sortorder"

————————————————————————————————————
——— 本文为andkylee个人原创,请在尊重作者劳动成果的前提下进行转载;
——— 转载务必注明原始出处 : http://www.dbainfo.net
——— 关键字:  ASE 字符集 简体中文  CP936 UTF8 乱码
————————————————————————————————————

  • 本文链接地址:http://www.sybrepair.com/sybase-character-set.htm
  • 本文为dbainfo个人原创,请在尊重作者劳动成果的前提下进行转载;
  • 转载务必注明原始出处 : Sybase数据库技术,数据库恢复专家
  • 对《关于sybase的字符集问题》有何疑问或见解,请在本文下方发表;
  • 对网站还有其他问题或建议,请提交在留言板,谢谢!
  • 目前还没有任何评论.
    :wink: :twisted: :roll: :oops: :mrgreen: :lol: :idea: :evil: :cry: :arrow: :?: :-| :-x :-o :-P :-D :-? :) :( :!: 8-O 8)