在 Microsoft SQL Server 2000 中,传统上非 Unicode 数据类型允许使用由特定字符集定义的字符。
而使用 Unicode 数据类型,列可存储由 Unicode 标准定义的任何字符,包含由不同字符集定义的所有字符。Unicode 数据类型需要相当于非 Unicode 数据类型两倍的存储空间。

解决方案 »

  1.   

    非UNICODE的数据类型在数据库选择字符集和排序规则之后,只能保存该规则限定范围内的字符集,保存其他字符集将出现乱码,比如数据库为Chinese_PRC排序规则,则默认只能保存简体中文和英文数据;使用Unicode字符集,允许在该字段同时保存 Unicode 标准定义的任何字符,同上排序规则情况下,可以同时保存简体中文/繁体中文/韩文/日文/法文等数据。
      

  2.   

    简单讲非unicode只能保存你选择的字符集的东西,保存其他字符集的会出现乱码;unicode可以保存所有的字符集,比如在简体字符集下繁体的转成unicode保存后取出来转换下就可以正常显示,不会乱码。
      

  3.   

    1.Unicode支持的字符范围更大
    2.存储Unicode字符所需要的空间更大,(nchar,nvarchar)列最多可以有4000个字符,而不像非非UNICODE的数据(char,varchar)可以有8000个字符
    3.Unicode常量使用N开头指定: N'A Unicode String'
      

  4.   

    这么说吧,如果你的软件做出来只在简体中文操作系统下用就用非unicode编码,如果还要在英文、繁体等操作系统下用就用unicode。