HTML特殊字符转换

USE [SBCRM]
GO
/****** Object:  UserDefinedFunction [dbo].[F_SBCRM_HTMLEncode]    Script Date: 10/19/2012 12:16:06 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO


-- =============================================
-- Author:  peter
-- Create date: 2011-9-19
-- Description: HTML特殊字符转换
-- =============================================
ALTER FUNCTION [dbo].[F_SBCRM_HTMLEncode]

 @string NVARCHAR(MAX)
)
RETURNS NVARCHAR(MAX)
AS
BEGIN
 DECLARE @retStr NVARCHAR(MAX);
 SET @retStr='';
 IF @string IS NOT NULL
 BEGIN
  DECLARE @number int;
  DECLARE @str NVARCHAR(10)
  DECLARE @asciiNumber int;
  SET @asciiNumber=-1;
  SET @number=1;
  WHILE @number<=len(@string)
  BEGIN
   SET @str='';
   SET @str=SUBSTRING(@string,@number,1);
   SELECT @asciiNumber=UNICODE(@str);
   
   IF(@asciiNumber>=0 AND @asciiNumber<=255)
   BEGIN
    SELECT @str = '&#'+CONVERT(NVARCHAR(10), UNICODE(@str))+';';
   END
   SET @number=@number+1;
   SET @retStr = @retStr+@str;
   CONTINUE;
  END
 END
 IF(LEN(@retStr)=0)
 BEGIN
  SET @retStr=@string;
 END
 RETURN @retStr; 
END


 

posted @ 2012-10-19 12:16  peterlee  阅读(188)  评论(0)    收藏  举报