Here is the fnHTMLEncode UDF:
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE FUNCTION [dbo].[fnHTMLEncode]
(
@String varchar(8000)
)
RETURNS varchar(8000)
BEGIN
SET @String = ISNULL(@String, '')
DECLARE @HTMLEncodedString varchar(8000)
SELECT @HTMLEncodedString = ''
SELECT @HTMLEncodedString = @HTMLEncodedString +
CASE
WHEN theChar LIKE '[A-Za-z0-9,._ ]'
THEN theChar
ELSE '&#' + CAST(ASCII(theChar) AS varchar(3)) + ';'
END
FROM
(
SELECT theChar = SUBSTRING(@string, lNumber, 1)
FROM tblNumbers
WHERE lNumber <= LEN(@String) ) CharacterArray
-- Return the result of the function
RETURN @HTMLEncodedString
END
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO