保存到数据库中的中文为“?”,急求解决方法,在线等!!!

unlimitedsaga 2011-07-08 04:10:17
同一个数据库,在32位和64位的windows2003下各部署了同一个消息队列,在32位机器下获取并处理消息队列无任何异常,在64位机器下保存到数据库中的中文为“?”,求解决方法
...全文
293 20 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
fzhengbang 2011-07-11
  • 打赏
  • 举报
回复
是编码问题,碰过。。
wuhaiwuya 2011-07-11
  • 打赏
  • 举报
回复
字符集的问题
li365941471 2011-07-11
  • 打赏
  • 举报
回复
在sql语句前面加上一个 'N
代表存入数据库时以 Unicode 格式存储,N必须大写。
比如:insert into tb values(N'测试',N'帖子')
ly745455 2011-07-11
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 moonwrite 的回复:]
无视我的回复
varchar ? nvarchar ?

数据库字段是使用varchar ? nvarchar ?

如果是varchar 那么改成nvarchar

如果是nvarchar

那么对你的插入的字符串进行编码

不是32 64的问题 是你中文系统换英文系统 或者选系统语言变了
[/Quote]

人家是oracle。。。没nvarchar
sonicrang 2011-07-11
  • 打赏
  • 举报
回复
sql server 中nvarch支持unicode编码,如果你写入的字符串有unicode 编码而你放到varchar中就出现乱码,或者同意编码为GBK,方法Encoding.GetEncoding("GBK")
qq598235031 2011-07-11
  • 打赏
  • 举报
回复
同意三楼
unlimitedsaga 2011-07-08
  • 打赏
  • 举报
回复
两个操作系统都是简体中文的windows2003,只不过一个是32位的,一个是64位的,数据库所在的服务器是64位的win2003
unlimitedsaga 2011-07-08
  • 打赏
  • 举报
回复
两个消息队列是公用一个数据库的
claymore1114 2011-07-08
  • 打赏
  • 举报
回复
数据库 也有编码的。
unlimitedsaga 2011-07-08
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 moonwrite 的回复:]
无视我的回复
varchar ? nvarchar ?

数据库字段是使用varchar ? nvarchar ?

如果是varchar 那么改成nvarchar

如果是nvarchar

那么对你的插入的字符串进行编码

不是32 64的问题 是你中文系统换英文系统 或者选系统语言变了
[/Quote]

这个我说过了,在32位的机器上布了同样的一个消息队列,经过32位机器处理的数据没一点问题。
moonwrite 2011-07-08
  • 打赏
  • 举报
回复
无视我的回复
varchar ? nvarchar ?

数据库字段是使用varchar ? nvarchar ?

如果是varchar 那么改成nvarchar

如果是nvarchar

那么对你的插入的字符串进行编码

不是32 64的问题 是你中文系统换英文系统 或者选系统语言变了
unlimitedsaga 2011-07-08
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 sunlyc20099 的回复:]
数据库排序规则的问题,编码不识别中文,教你一个办法:

右击数据库名------选择“属性”选中左边的“选项” 在排序规则中选择“Chinese_PRC_CI_AS",确定就OK了。
[/Quote]

数据库名?是oracle的,求详细的操作方法,谢谢
sunlyc20099 2011-07-08
  • 打赏
  • 举报
回复
数据库排序规则的问题,编码不识别中文,教你一个办法:

右击数据库名------选择“属性”选中左边的“选项” 在排序规则中选择“Chinese_PRC_CI_AS",确定就OK了。
unlimitedsaga 2011-07-08
  • 打赏
  • 举报
回复
此问题在32位操作系统下不存在,64位操作系统下出现此问题
unlimitedsaga 2011-07-08
  • 打赏
  • 举报
回复
接收后写出的XML是正常的,保存到数据库的时候变成问号
unlimitedsaga 2011-07-08
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 jsyhello 的回复:]
字符编码问题 Encoding.GetEncoding("GBK")试试
[/Quote]

这个写在什么页面里?
bdmh 2011-07-08
  • 打赏
  • 举报
回复
接收后,看看内容,是以什么编码传递的
jsyhello 2011-07-08
  • 打赏
  • 举报
回复
字符编码问题 Encoding.GetEncoding("GBK")试试
xuexiaodong2009 2011-07-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 moonwrite 的回复:]

varchar ? nvarchar ?
[/Quote]使用nvarchar
moonwrite 2011-07-08
  • 打赏
  • 举报
回复
varchar ? nvarchar ?

111,098

社区成员

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

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

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