Thinking outside the box

Patron Saint of Lost Yaks
posts - 203, comments - 734, trackbacks - 4

My Links

Advertisement

News

Archives

Post Categories

Convert UTF-8 string to ANSI

CREATE FUNCTION dbo.fnConvertUtf8Ansi
(
    @Source VARCHAR(MAX)
)
RETURNS VARCHAR(MAX)
AS
BEGIN
    DECLARE @Value SMALLINT = 160,
            @Utf8 CHAR(2),
            @Ansi CHAR(1)

    IF @Source NOT LIKE '%[ÂÃ]%'
        RETURN  @Source

    WHILE @Value <= 255
        BEGIN
            SELECT  @Utf8 = CASE
                                WHEN @Value BETWEEN 160 AND 191 THEN CHAR(194) + CHAR(@Value)
                                WHEN @Value BETWEEN 192 AND 255 THEN CHAR(195) + CHAR(@Value - 64)
                                ELSE NULL
                            END,
                    @Ansi = CHAR(@Value)

            WHILE CHARINDEX(@Source, @Utf8) > 0
                SET    @Source = REPLACE(@Source, @Utf8, @Ansi)

            SET    @Value += 1
        END

    RETURN  @Source
END

Print | posted on Wednesday, September 14, 2011 6:30 AM | Filed Under [ Optimization SQL Server 2008 Algorithms SQL Server 2005 SQL Server 2000 Denali ]

Feedback

Gravatar

# re: Convert UTF-8 string to ANSI

From long, long ago:
www.sqlteam.com/forums/topic.asp?TOPIC_ID=62406
9/15/2011 2:40 PM | Arnold Fribble
Gravatar

# re: Convert UTF-8 string to ANSI

What would be the advantage of having the ANSI code versus having the UTF-8 code? I, for one, am fond of UTF-8 and typically use that style of code when I work on the Indianapolis Jiu Jitsu website that I help out with. The site runs fluently and has yet to have any issues. Does converting the code to ANSI offer any benefits in terms of speed or ease of use?
2/4/2012 12:56 AM | Shawn M.
Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET