日期:2013-02-13  浏览次数:20987 次

前几天,也遇到"中文显示的问题",主要是服务器是繁体或E文的.

用精华区的方法怎么也不行,郁闷了几天.今天在看SQL SERVER文档

时注意到了CHAR 和 NCHAR ,TEXT 和 NTEXT 的区别...

CHAR 类型存储空间是采用 ANSI

NCHAR 类型存储空间是采用UNICODE

UNICODE 标准规定每个字符占用两个字节的存储空间所以它比非UNICODE 标准的数据类型多占用一倍的存储空间使用UNICODE 标准的好处是因其使用两个字节做存储单位其一个存储单位的容纳量就大大增加了可以将全世界的语言文字都囊括在内在一个数据列中就可以同时出现中文英文法文德文等而不会出现编码冲突

把表的数据类型改过来后再加上<%@ CODEPAGE = "936" %>代码.

一切OK顺利解决..

哎..这问题只有象我这样初使用SQL SERVER的菜鸟才容易碰到.

建议以后表设置时可根据需求来设置,如果有可能使用国外服务器

或者繁体服务器最好使用UNICODE编码的存储类型.