急啊,麻烦哪位高手帮忙解决!!!(乱码问题)
Select * from openquery(TEST, 'SELECT category, description FROM mtl_categories_v WHERE structure_name = ' 'China Custom Code ' ' ')
我在服务器里建立一个link,然后通过查询分析器用该语句查询数据,得到的中文数据是乱码(英文没问题), 由于服务器有其他用户连接,我不敢乱动,所以我在自己电脑上装了一个数据库,结果发现,查询的结果正常,没有出现乱码,后来我试着改了自己电脑上的语言设置使之和服务器一样,结果还是正常,我在想是不是数据库的版本问题,还是数据库collation的问题,该怎么改变,因为我不可能去把服务器上的数据库重装,很多用户在用.
我又做了以下的尝试:
create table #tempTable(category varchar(30), Description nvarchar(150) COLLATE Chinese_PRC_Stroke_CI_AS NULL)
Chinese_PRC_Stroke_CI_AS Select * from openquery(TEST123, 'SELECT category, description FROM mtl_categories_v WHERE structure_name = ' 'China Custom Code ' ' ')
select * from #temptable
Drop Table #tempTable
我做了一个下面的测试,讲字段descripiton的排列顺序用Chinese_PRC_Stroke_CI_AS问题还是出现,数据类型是nvarchar 我用
insert into #temptable(category, Description)values( 'aaa ', '测试 ')
是没问题的
急啊,烦哪位高手指教啊.
------解决方案--------------------1:Nvarchar 类型
2:insert into #temptable(category, Description)values( 'aaa ', N '测试 ')
中文前加N,如:N '测试 '
------解决方案--------------------改为varchar试一下
------解决方案--------------------我前不久也遇到过
在查询分析器中,工具-> 选项-> 连接 "执行字符数据转换 "勾去掉,你试试看