界面上的汉字保存到SQL中时变成??,
SQL里手动输入的汉字读到界面中时显示正常,等再传到数据库中时又成为??,
在查询分析器里以汉字为条件查询到的结果又为??对应的结果,
请问是何原因,如何解决?

解决方案 »

  1.   

    将保存汉字的字段类型设为nchar或nvarchar型
      

  2.   

    字段是nvarchar类型的,调试中传到数据库中的为汉字,可执行SQL保存到表后表里就变成??了.
      

  3.   

    插入时前面加上N:
    insert [table] select N'汉字'
      

  4.   

    我刚才试过在变量前面加N,如
        cmd_sql.Parameters.Append cmd_sql.CreateParameter("CustomerName", adVarChar, adParamInput, 100, "N'" & Trim(Me.TxtCustomerName.Text) & "'")
    结果变成了"N'乱码'",就是转换没有作用.数据库中除了表和存储过程,其它都不能改动,所以3楼的方法我没法办到
      

  5.   

    我的数据库在繁体的服务器上,应该不是编码问题,我一个同事用VB.NET做的就没有乱码问题.可他也没做特殊处理,
      

  6.   

    cmd_sql.Parameters.Append cmd_sql.CreateParameter("CustomerName", adVarChar, adParamInput, 100, "N'" & Trim(Me.TxtCustomerName.Text) & "'")
      

  7.   

    安装SQL时选择的字符集不对吧
      

  8.   

    参考这个帖子:
    http://topic.csdn.net/t/20040909/14/3356187.html
      

  9.   

    安装SQL时要注意选择字符集,特别是非中文版的SQL
      

  10.   

    估计SQL没装好,没有遇到过类似的问题