SQL to encode URL to kanji!

Source: Internet
Author: User

Original: SQL to the URL encoding to Chinese characters!

--=============================================--Author: ruijc--Description: Convert URL encoding to clear text string--================================ =============create FUNCTION Fn_urldecode (@Str varchar (8000)--encoded string) RETURNS varchar (8000) Asbegin DECLARE @          Position INT;     --the '% ' character is located DECLARE @Chr CHAR (16);  --character constant DECLARE @Pattern CHAR (21); DECLARE @ParseStr VARCHAR (8000);--The decoded string DECLARE @Hex uniqueidentifier;--define the 16 binary template because the GUID is conveniently converted to byte DECLARE @CurrWord in    t;--current word DECLARE @BitsCount INT;--current decoding bit DECLARE @HightByte tinyint;--high byte DECLARE @LowByte tinyint;--low byte  /**************** variable initialization ***********************/SET @Chr = ' 0123456789abcdef ';  SET @Pattern = '%[%][a-f0-9][a-f0-9]% ';  SET @[email protected];  SET @Hex = ' 00000000-0000-0000-0000-000000000000 ';  SET @CurrWord = 0;  SET @BitsCount = 0;  SET @HightByte = 0;    SET @LowByte = 0; IF (@Str is not NULL OR @Str <> ") BEGIN SET @Position = PATINDEX (@Pattern, @ParseStr);--Get firstA '% ' location while @Position >0 BEGIN SET @Hex =stuff (@Hex, 7,2,left (@ParseStr, Len (@ParseStr)-@Positi        On), 2));                SET @HightByte =cast (CAST (@Hex as BINARY (1)) as INT);           IF (@HightByte & [email protected]) Begin--ascii code is converted directly to UTF-8 or UTF-16 SET @[email protected];         SET @BitsCount = 1; END IF (@HightByte & 192=192) Begin--unicode encoded SET @[email protected] & 31           ;         SET @BitsCount = 2;         END IF (@HightByte & 224=224) begin--utf-8 encoded Set@currword = @HightByte & 15SET @BitsCount = 3         END IF (@HightByte & 240=240) begin--utf-16 encoded Set@currword = @HightByte & 7SET @BitsCount = 4                END DECLARE @Index INT;        DECLARE @NEWCHAR NVARCHAR (2);        SET @Index = 1;        SET @NEWCHAR = '; While @Index < @BitsCount BEGIN IF (LEN (@ParseStr) [email protected]ion-3*@Index) <0 BEGIN SET @[email protected];                   SET @Position = 0;                             break;              Endset @NEWCHAR = Left (right (@ParseStr, LEN (@ParseStr)-@Position -3* @Index), 2); --If there is no 16 encoding, break the outer whileif @NEWCHAR not LIKE ' [a-f0-9][a-f0-9] ' beginset @ParseStr = @StrSET @Position =0;--interrupt outer whilebreak ; END Set @Hex = STUFF (@Hex, 7, 2, @NEWCHAR) SET @LowByte = cast (CAST (@Hex as BINARY (1)) as INT); IF @LowByte &192=192begin SET @ParseStr = @StrSET @Position =0;--interrupts the outer whilebreak; END SET @CurrWord = (@CurrWord * 64) | (@LowByte & 63)                     SET @Index [email protected]+ 1 END IF @BitsCount > 1 SET @ParseStr = STUFF (@ParseStr, @Position, (@BitsCount), NCHAR (@CurrWord)) ELSE Beginset @ParseStr = STUFF (@ParseStr, @Position, 2, NCHAR (@CurrWord)) Set @ParseStr = STUFF (@ParseStr, @Position +1, 1, N ") END----get the next '% ' location The position of SET @Position = PATINDEX (@Pattern, @ParseStr); End End RETURN @ParseStr; Endgoselect dbo. Fn_urldecode ('%e4%bd%a0%e6%98%af%e5%93%aa%e4%b8%aa ')

SQL to encode URL to kanji!

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.