我正在尝试从 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
但是上面仍然会产生:
ö
有谁知道我做错了什么或如何提取这个字符?我们将非常感谢您的帮助。
谢谢
最佳答案
如果您将该列从 char
或 varchar
更改为 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
关于sql - 奇怪的编码问题 ¶,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13388848/