这几天写DEMO,所以一直用VS自带的LocalDB
开始用的很好,通过EF向里面插入数据没问题,但是直到我手写了一条Insert语句,发现出问题了
insert into Product values(newid(),'椪柑','斤',2.4,getdate());
怎么是问号?
这让人立马想到字符编码,像什么UTF-8、unicode这些,但是数据库中用的什么编码我也没接触过啊,况且我用了这么长时间SQLserver也没碰到这种问题啊
我想到了navicat这个数据库管理工具,我用它创建过几回mysql数据库,在创建的时候让我选择一个什么排序字段的这个东西,我想应该就是它了
于是在网上搜索了数据库字符集,找到了查询数据库字符集的SQL语句
SELECT SERVERPROPERTY('Collation')
现在我们分别在Sqlserver和LocalDB执行看一下
LocalDB
Sqlserver
行,再百度到修改字符集的SQL语句
alter database TestDb collate Chinese_PRC_CI_AS ;
然后再LocalDB中手动添加,汉字就能显示了
还有点问题,就是刚刚将字符集修改过来,但是你查询字符集,还是之前,不知道为什么,反正汉字显示不出来的问题算是解决了。
还好自己以前弄过两次mysql