字符集我已经设置成支持多国语言了,但是谁能告诉我通过odbc读出的汉字字符是什么编码的吗?

解决方案 »

  1.   

    只要你把你的char,varchar,text都改为nchar,nvarchar,ntext等就可以了
      

  2.   

    英文版的MSSQL所存储的字符是与操作系统的默认字符集有关系,应该有两个方法:
    一、指定操作系统的默认字符集,比如,你的操作系统是中文win2000,那么你可以在区域设置里将默认字符集设置成韩文,那么,MSSQL就可以存储韩文,但不能存储中文,就算你存了,也全都是一些问号。这是我在MSSQL7.0调过。
    二、使用UNICODE字符集,应该讲WIN系统都带了,而且MSSQL2000也支持,用NCHAR,NVARCHAR,NTEXT等数据类型存储。这两点算是服务器的问题,而前端就要跟你的软件以及的前端操作系统里的默认字符集跟服务器一致才可以正确显示。
      而用delphi做的软件,一般只认识ASCII,而不认识UNICODE,所以,我也不知道该如何解决了。我遇到的问题是要在MSSQL里面存储韩文、中文、英文,也要显示韩文、中文、英文,很烦,就中文与韩文同时显示的问题不能解决,你要有办法的话,tell me!  :)
      

  3.   

    我所用的就是英文版的mssql7,跟odbc无关。找原因要看系统的默认字符问题,这个问题其实很容易明白,但却有点别扭!
      

  4.   

    理论上来说是不可以的。
    不过实际上根据本人使用表明:好象只要操作系统有中文字库的就可以存储中文,但不能保证一点问题都没有。主要问题是表现在字符串的模糊查询上,有时候会出错(虽然SQL语句没有错)。
      

  5.   

    肯定是可以的.我一直是这样用的.
    首先你在安装SQL时要定制安装,在选择字符集时选UNICODE和中文字付集.然后你的客户端应该能够支持中文这样才能将数据库中的中文正确的显示出来
      

  6.   

    谢谢各位,基本上可以肯定我的第一个问题了,而且小弟我也已经试出来了
    英文版的sql server 7 是支持中文字符的存储的。
    但是第二个问题我还是没有弄清楚,我想再问得仔细一点:在英文操作系统下面,通过ODBC存储进来(我已经把odbc数据源中的“执行字符数据转换”选项关闭了)
    的中文字符串会被存成什么编码的字符?是ANSI 还是 Unicode ?
    (因为我是通过java处理的字符串,java的默认字符编码是Unicode!)那位大哥能给我说一下,多谢多谢!