VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
12
返回列表 发新帖
楼主: kolerk

对于乱码问题有研究的兄弟进来一下

[复制链接]

0

主题

34

帖子

17.00

积分

新手上路

Rank: 1

积分
17.00
发表于 2020-2-21 05:30:02 | 显示全部楼层
存储过程中的@用户名过程参数是varchar还是nvarchar类型的?不是n的话改过来试试看
回复

使用道具 举报

0

主题

48

帖子

30.00

积分

新手上路

Rank: 1

积分
30.00
发表于 2020-2-21 12:15:02 | 显示全部楼层
"exec 过程名称, @用户名过程参数 = N'???'"?
回复

使用道具 举报

0

主题

48

帖子

30.00

积分

新手上路

Rank: 1

积分
30.00
发表于 2020-2-21 14:30:01 | 显示全部楼层
在页面上指定编码
回复

使用道具 举报

0

主题

23

帖子

21.00

积分

新手上路

Rank: 1

积分
21.00
发表于 2020-2-22 17:45:01 | 显示全部楼层
用hashtable传存储过程的参数
回复

使用道具 举报

1

主题

6

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
 楼主| 发表于 2020-3-3 13:45:01 | 显示全部楼层
to: 德鲁伊
过程参数是nvarchar

另外在sql    server    profiler监测过程中发现这么有趣的现象:
asp.net自带的控件查询数据库时,执行存储过程时,数据库执行时会自动给参数类型是nvarchar的参数在执行时加上N,所以不会遇到以上问题。
意思就是说我自己写的存储过程在执行时,数据库就会把应该加的N给去掉,所以导致乱码。

经兄提醒最后解决方案是,在网站程序中组成sql语句,在语句中加上N,然后执行。

不过这个问题到底出在那里,还有待研究。
回复

使用道具 举报

1

主题

6

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
 楼主| 发表于 2020-3-3 20:00:02 | 显示全部楼层

过程参数是nvarchar

另外在sql    server    profiler监测过程中发现这么有趣的现象:
asp.net自带的控件查询数据库时,执行存储过程时,数据库执行时会自动给参数类型是nvarchar的参数在执行时加上N,所以不会遇到以上问题。
意思就是说我自己写的存储过程在执行时,数据库就会把应该加的N给去掉,所以导致乱码。

经shenmue024 兄提醒最后解决方案是,在网站程序中组成sql语句,在语句中加上N,然后执行。

不过这个问题到底出在那里,还有待研究。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表