我是新手,请问各位向SQL Server数据库中插入”汉字“,我写的汉字都变成了??
注:不是直接插入,用C# 代码实现。
网上有用java 的String..getBytes("ISO8859_1"),"gb2312");实现的,可是C#中String类没有这个功能,怎么办?
最好给个可运行的实例代码。
感激!!!!

解决方案 »

  1.   

    只要你能插入,不管在SqlServer显示什么,用同样的方法取出后应该也是原来的字符串
      

  2.   

    可以用Encoding类中的方法完成。
      

  3.   

    可以用Encoding类中的方法完成。
    能说得具体点吗?
      

  4.   

    只要你能插入,不管在SqlServer显示什么,用同样的方法取出后应该也是原来的字符串
    ==============
    刚才我把汉字数据从C# 代码中插入了,在SQL数据库中显示了???,读出来在前台页面也是显示的???
      

  5.   

    我都是一直都是直接插,没什么问题呀!
    VS2005
    Sql Server 2000
    字段设成 varchar
    程序中的变量是String
      

  6.   

    存中文,字段要用nchar或nvarchar
    用varchar就会出现楼主的问题。
      

  7.   

    Encoding类使用gb2312或者UTF8编码试试
      

  8.   

    存中文,字段要用nchar或nvarchar
    用varchar就会出现楼主的问题。
    ==============================
    varchar 是ascii码的,nvarchar 是unicode
    但是不是乱码的原因。我的个人项目都是用varchar 不用nvarchar 
    ^o^以前刚刚学习程序的时候不懂这个区别,遗留的历史问题。公司里面的项目也被我顺手设置成varchar 也没有问题过。
      

  9.   

    谢谢大家,问题解决了
    是COLLATE出了问题
      

  10.   

    数据库的排序规格的问题。要改为Chinese_PRC_CI_AS才行。不信的话可以看看Northwind数据库,右击Northwind数据库,查看它的排序规格为SQL_Latin1_General_CP1_CI_AS,这样是不能插入中文的