我使用SQL Server 2005的时候出现了一个问题

fengxieric 2008-09-15 11:59:59
查询语句中所有的汉字都无法被识别,全部会当作问号处理。具体表现如:

CREATE TABLE books
(bnum varchar(15),
bname nvarchar(15))

INSERT INTO books VALUES ('I210.1/LX','鲁迅全集')
INSERT INTO books VALUES ('TP312C/ECK','Thinking in C++')
INSERT INTO books VALUES ('I246.7/MD','林家铺子')

执行上述语句之后在企业管理器打开表查看,发现bnum列正常显示,bname列中Thinking in C++也正常显示,但“鲁迅全集”和“林家铺子”就都变成了“????”。然后在这里手动把第1行的????改成鲁迅全集之后可以正常储存。然后再执行:

SELECT * FROM books WHERE bname='鲁迅全集'
SELECT * FROM books WHERE bname='你好你好'
SELECT * FROM books WHERE bname='????'

以上3个查询语句都只能返回应为“林家铺子”的那一行,也就是说不论是什么汉字在查询的时候都被当作????处理。
另外在VB编写的应用程序对该数据库的查询中也呈现了同样的现象。还有如果列属性写char的话根本无法储存任何汉字信息(即使在企业管理器中修改也不行)

这应该是哪里的编码没有统一吧?请问有什么办法能够解决?
...全文
81 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
怫悰 2009-01-13
  • 打赏
  • 举报
回复
结论?
-晴天 2008-09-15
  • 打赏
  • 举报
回复
你服务器的高级选项中的默认语言是什么?
-晴天 2008-09-15
  • 打赏
  • 举报
回复
应该不是语法上的什么问题.
你安装的SQLSERVER的什么版本?
你操作系统的区域和语言选项是不是正确?
ojuju10 2008-09-15
  • 打赏
  • 举报
回复
数据库字符值的问题

当前字符值无法识别中文字符
Garnett_KG 2008-09-15
  • 打赏
  • 举报
回复
插入&查询数据时,汉字字串前面加上N

CREATE TABLE books
(bnum varchar(15),
bname nvarchar(15))

INSERT INTO books VALUES ('I210.1/LX',N'鲁迅全集')
INSERT INTO books VALUES ('TP312C/ECK','Thinking in C++')
INSERT INTO books VALUES ('I246.7/MD',N'林家铺子')


SELECT * FROM books WHERE bname=N'鲁迅全集'
letisgoto 2008-09-15
  • 打赏
  • 举报
回复
创建数据库的时候选择中文的排序方式
例如CHINESE_PRC_CI_AI
或者
只有用NVERCHAR来代替所有的VARCHAR,你确定你那是nvarchar类型,是该类型应该不会出现??情况,varchar才会出现
ChinaJiaBing 2008-09-15
  • 打赏
  • 举报
回复
""
Jarvis-Li 2008-09-15
  • 打赏
  • 举报
回复
在数据库中还没有遇到这种问题,但是在程序中到是有,设置的编码格式为gbk或gb2312你试试!
zhiguo2008 2008-09-15
  • 打赏
  • 举报
回复
你操作系统的区域和语言选项是不是正确?
yesyesyes 2008-09-15
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 Garnett_KG 的回复:]
插入&查询数据时,汉字字串前面加上N

CREATE TABLE books
(bnum varchar(15),
bname nvarchar(15))

INSERT INTO books VALUES ('I210.1/LX',N'鲁迅全集')
INSERT INTO books VALUES ('TP312C/ECK','Thinking in C++')
INSERT INTO books VALUES ('I246.7/MD',N'林家铺子')


SELECT * FROM books WHERE bname=N'鲁迅全集'
[/Quote]

正确
chenping1984 2008-09-15
  • 打赏
  • 举报
回复
有点类式 MYSQL 的字符集合集问题.
你可以把编码格式设置为gbk或gb2312!
服务器的高级选项中的默认语言里面修改下就可以..

34,590

社区成员

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

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