注册 登录
编程论坛 SQL Server论坛

SQLSQLSQLSQLSQLSQLSQLSQLSQLSQLSQLSQL

accpfriend 发布于 2007-01-26 11:32, 714 次点击

create table aa(No varchar(10),Name varchar(10))
INSERT aa SELECT '101' ,'现金'
UNION ALL SELECT '10201','工行'
UNION ALL SELECT '10203','农行'
UNION ALL SELECT '102' ,'银行存款'
UNION ALL SELECT '10202','建行'

上面的建表,我的Name列全是?? 为什么不能显示中文字符
想要的结果
/*--结果
No Name Money
---------------- ----------------- ---------------------
101 现金 100.0000
102 银行存款 140.0000
10201 工行 20.0000
10202 建行 120.0000
10203 农行 .0000
--*/

9 回复
#2
Kendy1234562007-01-26 11:36

我的和你的一样!
我用的是英文版 不支持中文显示

#3
棉花糖ONE2007-01-26 11:43

改成nvarchar类型的能显示吗

#4
accpfriend2007-01-26 14:24
没解决,还是不行
#5
accpfriend2007-01-26 14:28
呵呵,终于解决了中文问题,加一个N就可以了,就可以插入中文字符入数据库
#6
棉花糖ONE2007-01-26 14:35

那就是强制转换成nvarchar类型了

#7
accpfriend2007-01-26 15:03
不是那种方法,那种我试过没用
#8
Kendy1234562007-01-26 15:09
6楼说的没错 N'ABSC'就是表示这是一个Nvarchar的字符串 不加N 会被系统认为是varchar类型

create table aa(No varchar(10),Name varchar(10))
INSERT aa SELECT '101' ,N'现金'
UNION ALL SELECT '10201',N'工行'
UNION ALL SELECT '10203',N'农行'
UNION ALL SELECT '102' ,N'银行存款'
UNION ALL SELECT '10202',N'建行'

select * from aa 看到的仍然是??

如果改成
create table aa(No varchar(10),Name Nvarchar(10))
INSERT aa SELECT '101' ,N'现金'
UNION ALL SELECT '10201',N'工行'
UNION ALL SELECT '10203',N'农行'
UNION ALL SELECT '102' ,N'银行存款'
UNION ALL SELECT '10202',N'建行'

select * from aa

现在就显示正确的中文了
#9
notbig2007-01-27 09:44

应该是数据库的字符集问题

#10
bygg2007-01-27 20:14
数据库设计时的字段属性.
1