可能发生此类问题的原因有大概以下几种:
1 写入数据库的时候使用的是英文版操作系统, 默认编码为utf-8编码。送进数据库的字符串自然也是按utf-8编码的。 读取时使用的是中文操作系统,默认编码是gb2312 读出来的东西于是乱码了。
2 写入数据库的时候指定了字符串的编码方式 读取的时候指定的编码方式和写入时不一样。
3 该字符串是从文本文件或者网络等其他媒介读取出来然后再写入数据库的。 该文本文件的编码方式和默认的编码方式不同。

读出语句改为,把字段的类型改为nvarchar,insert或select的时候,条件还有插入的字段 都加上N,例如select N'中文'