数据库插入某些数据会变成?,或则select无法读出数据库中的某些数据
如果你想在数据库中插入“uɷ”,这个字符,直接插入 insert into table value (‘uɷ’),是不行的,这样插入的后果是打开数据后会显示为u?。当你面对这个问题的时候是不是第一个想法就是编码问题,于是试着更改为gb2312或则其他编码。 至于是不是编码问题造成的我也不是很清楚,但是你修改编码之后可能会造成更严重的错误,因为一般在vs2010中默认的页面编码是utf-8 ,你这样一改会使得后台和页面编码不兼容,从而出现乱码的现象。(个人臆断)
有一个很简单的解决办法就是在“特殊”字符前面加一个大写的字母N,就可以解决问题了。如insert into table value(N'uɷ').这样再打开数据库会发现问题已经解决了。
那么怎么从数据库中把这些字符读出来呢,同样的道理,在字符前面加N。如select * where name=N'uɷ'.
OK,问题解决,我的世界瞬间晴朗了。