我想用varchar或nvarchar类型代替text或ntext来保存网站文章内容,以提高效率节省资源。
想确认两个菜菜问题:1、
varchar(8000)是不是真可以保存4000个汉字?以及nvarchar(4000)保存2000字?2、我只用gb2312建站,对于varchar这样的非UNICODE数据类型,只能表示256个不同的字符,那么会不会出现有的汉字不能正确保存的现象?非常感谢!

解决方案 »

  1.   

    varchar(8000)是不是真可以保存4000个汉字?
    以及nvarchar(4000)保存2000字? 
    不是,依然是4000
      

  2.   


    declare @aa varchar(2),@bb nvarchar(2)
    select @aa='我们',@bb='我们'
    select @aa,@bb/*
    ---- ---- 
    我    我们(所影响的行数为 1 行)
    */
      

  3.   

    对于varchar这样的非UNICODE数据类型,只能表示256个不同的字符,那么会不会出现有的汉字不能正确保存的现象? 
    字符集和排序规则正确的前提下,不会出问题。
      

  4.   


    我采用SQL2000默认的Chinese_PRC_CI_AI排序规则,前端用gb2312编码,是否会出问题
      

  5.   

    varchar(8000)与nvarchar(4000)都能保存4000个汉字,你做网站建议用nvarchar类型,方便以后用其它字符集
      

  6.   

    看来选nvarchar最好了,谢谢各位!