Sample code for 30+ languages & platforms
SQL Server

Convert a Text File from utf-8 to Windows-1252

Convert a text file from one character encoding to another.

Chilkat SQL Server Downloads

SQL Server
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls.
--
CREATE PROCEDURE ChilkatSample
AS
BEGIN
    DECLARE @hr int
    DECLARE @success int
    SELECT @success = 0

    -- It's really simple:  Just load from one charset, save using another.

    DECLARE @sb int
    EXEC @hr = sp_OACreate 'Chilkat.StringBuilder', @sb OUT
    IF @hr <> 0
    BEGIN
        PRINT 'Failed to create ActiveX component'
        RETURN
    END

    -- In this case, my test file has some norwegian chars in the utf-8 encoding
    EXEC sp_OAMethod @sb, 'LoadFile', @success OUT, 'qa_data/txt/norwegian_chars.txt', 'utf-8'

    -- We could just as well write over the file we just read in.
    -- (But I don't want to do that for my example..)
    EXEC sp_OAMethod @sb, 'WriteFile', @success OUT, 'qa_output/norwegian_chars.txt', 'windows-1252', 0

    -- Note:  Windows-1252 is a 1-byte per char encoding, which means it's only capable of representing
    -- those chars in Western European languages.   See https://en.wikipedia.org/wiki/Windows-1252
    -- 
    -- utf-8 is an encoding that can handle chars in any language, including Chinese, Korean, Japanese, Arabic, Hebrew, Greek, etc.
    -- If a text file contains chars in these other languages, obviously it cannot be converted to windows-1252 because
    -- there are only 256 chars that can possibly be represented in a 1-byte per char encoding.

    EXEC @hr = sp_OADestroy @sb


END
GO