分类: 数据库开发技术
2012-02-21 12:05:52
有2个字段为varchar,以前只有英文,后来又了中文。
由于应用软件的问题,软件输入可查看中文都正常,但是数据库里面是乱码?
怎么办?
1. 简单把字段转换为nvarchar, 不行
2. cast(colname as nvarchar) 不行
3. cast(cast(colname as varbinary) as nvarchar)不行
后来偶然发现可以这样解决:
1. 新建立一个数据库把COLLATE设置为Chinese_PRC_CS_AS_WS
2. 用cast(colname as varbinary)吧字段在new_db中
3. 在new_db中执行 cast(col_of_varbinary as varchar) 存到nvarchar字段中
4. 把nvarchar字段更新会old_db中的一个nvarchar字段中