- 论坛徽章:
- 0
|
最近,我需要编写针对sybase12.5的asp.net的web应用程序,无论我使用sybase12.5自带的AseClient.dll(AseConnection),还是OleDb,显示的汉字都是乱码?
我在AseConnection的连接字符串里加入参数charset='cp936',提示无法实现字符集转换,程序出错;删除这个参数显示的是乱码.
后来我用oledb连接,在调试到**.open()程序通过,但是执行到OleDataAdapter.Fill(dataset),程序就一直死锁在那里,无法执行.
我也知道客户端和服务器端的字符集会导致乱码的问题,所以平时使用isl命令或是使用sybase 管理器我都会加入参数cp936.
执行sp_syscharsets 显示的是cp850,后来我按照网上关于如何添加字符集的方法:在dos命令行下切换到sybase安装目录\charsets\cp936目录下
charset -Uxxx -Pxxx -Sxxx charset.srt cp936
提示成功,
select name,id from syscharsets
显示cp936的id为171
,于是我执行
sp_configure 'default character set id',171
可是提示出错,英文我忘记了,大概意思是指syscharsets表里没有与cp936相关的记录.
后来我又打开server config进入配置language界面,选中charsets,还是发现在列表availble charsets that had installed in this server,没有cp936的信息 |
|