在SQL2005中插入中文字符出现?号

leotan 2009-03-10 11:02:24
Database db = new Database();

string sql = "Insert Into [Message] Values( "
+ "'" + userName + "',"
+ "'" + createTime + "',"
+ "'" + content + "',"
+ "'" + color + "',"
+ "'" + emotion + "')";
db.ExecuteSQL(sql);
当emotion为中文字符的时候,数据库里emotiom字段却是个?号。
我把这个字段的排序规则设为:Chinese_PRC_CI_AS,都是一样的问题
...全文
87 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
leotan 2009-03-10
  • 打赏
  • 举报
回复
找到问题了。在插入语句当中加N为转义字符
arjsyy 2009-03-10
  • 打赏
  • 举报
回复
错误:无法解决 equal to 操作中 "SQL_Latin1_General_CP1_CI_AS" 和 "Chinese_PRC_CI_AS" 之间的排序规则冲突。

解决方法如下:

修改表中的SQL_Latin1_General_CP1_CI_AS排序规则为Chinese_PRC_CI_AS

修改某个列的方法为
ALTER TABLE online
ALTER COLUMN userId nvarchar(12) COLLATE Chinese_PRC_CI_AS

修改整个数据库为:
ALTER DATABASE jiejingrensheng
COLLATE Chinese_PRC_CI_AS
修改整个数据库时应把数据库表中的主键以及约束都删除后再执行上述的sql命令

查看某个表的排序规则为:
sp_help 表名

leotan 2009-03-10
  • 打赏
  • 举报
回复
我用的是SQL2005,emotion是string类型。
现在是在本机调试运行
zilong32 2009-03-10
  • 打赏
  • 举报
回复
编码问题导致出现乱码
RxitRose 2009-03-10
  • 打赏
  • 举报
回复
1.首选你用的是什么数据库?
2.emotion这个你是什么字段类型的?
3.数据库所在的操作系统和你客户端的操作系统是什么是同一区域的?

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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