none
sql server 2012中文问题 RRS feed

  • 问题

  • 刚安装了sql server 2012中文评估版后,在SQL Server Management Studio 打表某一个表后,发觉中文内容全不能显示,以?代替,后来用变量来测试:

    declare @a varchar(10);

    set @a = '中';

    select @a

    结果不能显示‘中',只显示?

    我的环境是:windows server 2008R2 sp1 x64中文版+sql server 2012 中文评估版

    请问这是什么原因呢?

    2012年6月4日 15:32

答案

全部回复

  • You may need define with unicode data type like

    declare @a nvarchar(10);

    set @a = N'中';

    select @a

    • 已标记为答案 karmon 2012年6月5日 2:01
    2012年6月4日 15:37
  • 用 unicode 数据类型 nchar/nvarchar/ntext

    常量前加N 前导

    • 已标记为答案 karmon 2012年6月5日 1:55
    2012年6月4日 23:40
  • 奇怪,既然是中文版,那么默认肯定是CHINESE_PRC字符集,就肯定不会乱码。。检查一下字符集吧,也可能选择了LATIN什么什么的

    Try SQL Server 2008 QQ:315054403 dgdba@hotmail.com

    2012年6月5日 1:18
  • 很久不见邹老师了,以前在csdn经常看到邹老师的回贴,从邹老师学到不少知识,感谢你!

    不过对于定义表属性时,是要将字段定义为nvarchar后,再查询就可以显示中文吗,而定义为varchar不可以?

    2012年6月5日 2:01
  • Because unicode type like nvarchar uses 2 bytes for a character while varchar uses only one byte.
    • 已标记为答案 karmon 2012年6月5日 6:06
    2012年6月5日 3:43