I have a function for converting UTF8 characters. When I call the function using string it works as expected.
select dbo.fn_PolskieZnaki_utf8('Kraków')
returns Kraków
But when I select a column from the table it does not work. It returns Kraków
. What is wrong?
use MyDataBase
GO
select dbo.fn_PolskieZnaki_utf8(MyColumn)
from MyTable
Here is the function itself:
CREATE FUNCTION [dbo].[fn_PolskieZnaki_utf8](@string NVARCHAR(MAX))
RETURNS NVARCHAR(MAX)
AS
begin
RETURN REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE
(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE
(@string,
'Ä,,', N'Ą'),
'Ä...', N'ą'),
'Ć', N'Ć'),
'ć', N'ć'),
'Ę', N'Ę'),
'Ä™', N'ę'),
'Å', N'Ł'),
'Å,', N'ł'),
'Ń', N'Ń'),
'Å„', N'ń'),
'Ã"', N'Ó'),
'ó', N'ó'),
'Åš', N'Ś'),
'Å›', N'ś'),
'Ź', N'Ź'),
'Ű', N'ź'),
'Å»', N'Ż'),
'ż', N'ż')
end