黑马程序员技术交流社区

标题: VS2012自建数据库插入内容显示问题 [打印本页]

作者: 杨敏Yummy    时间: 2013-8-20 04:31
标题: VS2012自建数据库插入内容显示问题
在看省市联动视频的时候,让插入各省市的数据和编号。

--建立省份表
CREATE TABLE [dbo].[promary] (
    [proID]   INT           NOT NULL,
    [proName] VARCHAR (50) NOT NULL,
    PRIMARY KEY CLUSTERED ([proID] ASC)
);
--建立城市表
CREATE TABLE [dbo].[city] (
    [cityID]   INT           NOT NULL,
    [cityName] VARCHAR (50) NOT NULL,
    [proID]    INT           NULL,
    PRIMARY KEY CLUSTERED ([cityName] ASC),
    CONSTRAINT [FK_city_promary] FOREIGN KEY ([proID]) REFERENCES [dbo].[promary] ([proID])
);
按照小杨老师提供的网址建表,
执行这么一条语句INSERT INTO promary VALUES(1, '北京市')
插入数据时,结果省市显示的都为?,我看了一下表的定义,把varchar(50)都改成了nvarchar(50),还是不行额。如图:

但是自己又可以在数据库里面手动输入,于是又变成了这样:


按理说nvarchar是采用的Unicode编码,中文也是unicode编码,应该是互相认的,但很明显这里他发飙不认了。
最后我直接在中文字前加了个N,INSERT INTO promary VALUES(1, N'北京市')情况才算解决了,几百条,手都快硬了!!!
不知道各位有米有好的办法解决这种中文字乱码的问题?


作者: 瞎猫馒头米田共    时间: 2013-8-20 13:48
这个应该是你数据库属性-选项里头的排序规则用错了。
作者: 赵宗荣    时间: 2013-8-20 15:17
直接全部替换多好,非得一条一条的加
作者: 杨敏Yummy    时间: 2013-8-20 16:36
赵宗荣 发表于 2013-8-20 15:17
直接全部替换多好,非得一条一条的加

是的,傻B了,看到最后小杨老师也是这么改的。不过借此复习了一下中国各省市的行政划分{:soso_e118:}!!!

作者: 杨敏Yummy    时间: 2013-8-20 16:38
瞎猫馒头米田共 发表于 2013-8-20 13:48
这个应该是你数据库属性-选项里头的排序规则用错了。

原来是这样,可惜没有在数据库中看到这一项。我是说内置数据库在vs里面的排序规则不知给藏哪儿了!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2