将Openquery中的丹麦字符(ÆØÅ)保存到链接服务器

时间:2017-02-15 08:50:09

标签: sql-server tsql linked-server

select * from openquery(DATABASENAME_LINKED, 'select id, pe_department_id, pe_username, pe_name, pe_hours, pe_startpage, pe_admin from person')

此查询中丢失了特殊字符。是否可以确保代码或其他地方的某种编码?

1 个答案:

答案 0 :(得分:1)

this article重新定位功能UTF8_TO_NVARCHAR,可以即时进行转换:

SELECT 
    id,
    pe_department_id,
    dbo.UTF8_TO_NVARCHAR(cast(pe_name AS varchar(MAX))) pe_name,
    pe_hours,
    pe_startpage,
    pe_admin
FROM OPENQUERY(
    DATABASE_LINKED,
    'select
        id,
        pe_department_id,
        pe_name,
        pe_hours,
        pe_startpage,
        pe_admin 
    from person'
)

使用MySQL CHARSET指令直接在传递查询中强制转换列的更直观的方法失败,没有有用的错误描述,所以我们没有进一步追求这一点。