sql - 奇怪的编码问题 ¶

标签 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

但是上面仍然会产生:

ö

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

谢谢

最佳答案

如果您将该列从 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

关于sql - 奇怪的编码问题 ¶,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13388848/

相关文章:

java - Apache 点燃查询

mysql - 我如何在 SQL 中组合这两个表,以便第一个表的每一行都有第二个表中每一行的副本?

sql - ColdFusion 中的 SQL 注入(inject)防护

sql-server - 如何在 SQL Server 中查找非空约束的名称

SQL:如何获得每个数据库或每小时或...的执行查询数?

php - 更新标记时 Google map 停止重新居中

sql-server-2008 - 更新连接到具有不同条件的另一个表的表

ruby-on-rails - 编码::UndefinedConversionError: "\xE4"从 ASCII-8BIT 到 UTF-8

c# - URL 的编码参数

python - 如何正确设置 Python 3(和 cmd.exe)编码?