我创建了一个用户定义的函数,该函数从 HTML 标记中删除输入文本,但发现它也出于某种原因破坏了阿拉伯文本。
我想:也许函数的逻辑导致文本在某处被转换为 VARCHAR,所以我使函数变得非常简单。它需要一个 NVARCHAR 并将其返回给调用者。这是函数:
CREATE FUNCTION [dbo].[udf_test] (@string NVARCHAR(MAX))
RETURNS NVARCHAR(MAX) AS
begin
return @string
end
然后我做了一个小测试:
select dbo.udf_test('إختبار اللغة العربية Testing Arabic ');
输出是:
?????? ????? ??????? Testing Arabic
如果我这样做,输出很好:
select 'إختبار اللغة العربية Testing Arabic ';
为什么会这样?