¶的奇数编码问题

时间:2012-11-14 22:59:22

标签: sql sql-server-2008 encoding character-encoding

我试图从sql server 2008 db

中提取以下字符作为unicode

角色应该是变音符号

以下是表

中的架构信息
character_set_name    collation_name

iso_1                 SQL_Latin1_General_CP1_CI_AS

这是我的选择陈述

select 
    StudentName

from GenData.dbo.StudentInfo 
where StudentID = 105
order by studentname COLLATE SQL_Latin1_General_Pref_CP850_CI_AS

但是上面仍然会产生:

ö

有谁知道我做错了什么或如何提取这个角色?非常感谢您的帮助。

由于

1 个答案:

答案 0 :(得分:2)

如果您将列从charvarchar更改为nvarchar,则应解决此问题。

ALTER TABLE MyTable ALTER COLUMN MyField nvarchar(1234)

注意在sql查询中使用nvarchar。

  'this is varchar'
  N'but this is nvarchar'

就恢复已经扭曲的信息而言,从我的经验来看,这通常是一个艰难的反复试验过程。您可以尝试将字符输入varchar字段并使用该信息来清理数据。

INSERT INTO #transpose
SELECT '' low, N'Ü' high
UPDATE #transpose SET low = high

Update MyTable 
SET MyFIELD = REPLACE(MyField, low, high) 
FROM MyTable 
CROSS JOIN #transpose