SQL中的乱码,急!!!!

魉呼 2003-03-12 11:01:12
我用ASP写的程序,写到SQL中去后,字段的值变成乱码,我写进去的是中文,UPDATE的时候也是一样的,该字段值的类型是nvarchar,拜托各位大虾帮帮忙
...全文
29 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
魉呼 2003-03-26
  • 打赏
  • 举报
回复
我在文件头加了引用gb2312,好象就ok了
魉呼 2003-03-12
  • 打赏
  • 举报
回复
没有加N,这种情况在我本人的机器上不会发生,但是在某个人的机器上就会出现,我在想是不是系统的问题,
我的数据库接受这种字符集,因为我操作这一程序的时候,写进去的数据是好的,会不会ASP里有什么属性可以限制
SophiaWang 2003-03-12
  • 打赏
  • 举报
回复
产生这种情况的原因要从数据库及程序两方面来考虑,第一,你的数据库是否接收这种字符集的输入,即能否正确识别它;第二,你的程序的字符集和你写入的数据的字符集是否相同;第三,用你的程序来显示数据中正确显示的字段是否也会是乱码等
CrazyFor 2003-03-12
  • 打赏
  • 举报
回复
是这样插入的吗?

insert into 表(col) values(N'中文')
~~~~~~~~~~~~~~~~~~~~~~~~~~~^,这里的N是不是加了。
SophiaWang 2003-03-12
  • 打赏
  • 举报
回复
nvarchar比较有效
angle1219 2003-03-12
  • 打赏
  • 举报
回复
好了吗
hillhx 2003-03-12
  • 打赏
  • 举报
回复
是不是使用了英文的ODBC?
pengdali 2003-03-12
  • 打赏
  • 举报
回复
你必须加N,如上面的例子,是会出错的!
你要不就不要用nvarchar
pengdali 2003-03-12
  • 打赏
  • 举报
回复
create database mmm
go
use mmm
go
ALTER DATABASE mmm COLLATE Latin1_General_Ci_Ai
go
create table test (a nvarchar(100))
go
insert test values(N'大力')
go
select * from test where a=N'大力'
select * from test where a='大力'
SophiaWang 2003-03-12
  • 打赏
  • 举报
回复
charset有没有设?

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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