特殊字符存储到数据库

wulala789 2010-09-10 05:55:56
问题描述:

Winform程序服务端:采用ADO.NET Entity Framework 做数据库访问,采用WCF作为服务
(IIS,basichttpbinding);

客户端:添加进行数据操作 当添加普通数据时正常,添加特殊字符(如•)时到数据库(SQL2005)时变成了“?”;

已尝试:
数据库字段类型是nvarchar类型的;
SQL查询: SELECT N'•',显示正常;
修改Webconfig里面的encoding为UTF-16无效;
...全文
252 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jmh521 2010-09-11
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 wulala789 的回复:]
存值时用其他字符代替,取值时用•字符代替回来就可以了
[/Quote]

tong yi (replace)
wulala789 2010-09-11
  • 打赏
  • 举报
回复
存值时用其他字符代替,取值时用•字符代替回来就可以了
wulala789 2010-09-10
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 computerfox 的回复:]

ADO.NET Entity Framework 没有用过,你是指定sql吗?
是否sql语句的特殊字符?

试试看sqlParameter方式看看?
[/Quote]

由于是直接使用ADO.NET Entity Framework,查询都是用linq,所以不像以往三层一样,可以接触到SQL语句
wuyq11 2010-09-10
  • 打赏
  • 举报
回复
数据库一般采购Unicode编码来存储元数据信息。
declare @a nvarchar(10) = N'Ả'
select ASCII(@a)
63

select CHAR (63)
?
insert @a select N 'ad◆ '
捷哥1999 2010-09-10
  • 打赏
  • 举报
回复
ADO.NET Entity Framework 没有用过,你是指定sql吗?
是否sql语句的特殊字符?

试试看sqlParameter方式看看?
wulala789 2010-09-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 net_lover 的回复:]

设置GB2312可以不?
[/Quote]
服务器设置成GB2312,但客户端是UTF-8,还是无法讲特殊字符存入
lgz_asp_net 2010-09-10
  • 打赏
  • 举报
回复
不太清楚,坐观高手解答
孟子E章 2010-09-10
  • 打赏
  • 举报
回复
设置GB2312可以不?

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧