用存储过程插入中文出现乱码

chenyang80425 2010-01-07 11:13:42
我的空间是放在国外的服务器上,用的是sql server2005的数据库,英文版操作系统.当我向数据库插入中文字符时,就出现乱码.因为我的代码全部是用存储过程来写的,如果有insert语句到是可以在字段前加'N'(Insert into tablename(title)values(N'中文标题') )来防止中文乱码?但我用的存储过程,我要怎样修改了?代码如下:


CREATE PROCEDURE [Stu_InsertAbout]

@title nvarchar(100)

AS
Insert into Stu_About(title)

Values

(@title)
GO


C#代码:

public int InsertAbout(About about_list)
{
SqlParameter[] param =
{
DataClass.MakeInParam("@title", SqlDbType.NVarChar,100,about_list.title)
};
try
{
int id = DataClass.ExecuteNonQuery("Stu_InsertAbout", param);
return id;
}
catch
{
return 0;
}

}

public static SqlParameter MakeInParam(string ParamName, SqlDbType DbType, int Size, object Value)
{
return MakeParam(ParamName, DbType, Size, ParameterDirection.Input, Value);
}

public static SqlParameter MakeParam(string ParamName, SqlDbType DbType, Int32 Size, ParameterDirection Direction, object Value)
{
SqlParameter param;

param = MakeParam(ParamName, DbType, Size);

param.Direction = Direction;
if (!(Direction == ParameterDirection.Output && Value == null))
param.Value = Value;

return param;
}


也就是说我的值是通过SqlParameter 参数传递的.我要怎样修改了?
...全文
408 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
newdigitime 2010-01-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lovely_baby 的回复:]
改字段为nvarchar
插入数据时加N
例如:insert into tb (col) values(N'....')
[/Quote]
当服务器是英文版操作系统时,这个才是正解.
chenyang80425 2010-01-07
  • 打赏
  • 举报
回复
我在一些资料上看到
修改数据库的排序规则为chinese_PRC_CI_AS:在master数据库中执行

ALTER DATABASE 数据库名字 COLLATE chinese_PRC_CI_AS
go
就可以解决中文乱码的问题.不知道可以实现嘛?
Lovely_baby 2010-01-07
  • 打赏
  • 举报
回复
改字段为nvarchar
插入数据时加N
例如:insert into tb (col) values(N'....')
yan267 2010-01-07
  • 打赏
  • 举报
回复

-- =============================================
create PROCEDURE Stu_InsertAbout
-- Add the parameters for the stored procedure here
@title nvarchar(100)
AS
BEGIN

declare @sql nvarchar(1000)

insert into test (a)values(N''+@title+'')
END
GO


exec Stu_InsertAbout '中文'

62,254

社区成员

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

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

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

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