[转](SQL Server) Convert a File from utf-8 to ANSI (such as Windows-1252)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[转](SQL Server) Convert a File from utf-8 to ANSI (such as Windows-1252)相关的知识,希望对你有一定的参考价值。

本文转自:https://example-code.com/sql/charset_convert_file_from_utf8_to_ansi.asp

 

CREATE PROCEDURE ChilkatSample
AS
BEGIN
    DECLARE @hr int
    DECLARE @sTmp0 nvarchar(4000)
    DECLARE @charset int
    EXEC @hr = sp_OACreate ‘Chilkat_9_5_0.Charset‘, @charset OUT
    IF @hr <> 0
    BEGIN
        PRINT ‘Failed to create ActiveX component‘
        RETURN
    END

    DECLARE @success int
    EXEC sp_OAMethod @charset, ‘UnlockComponent‘, @success OUT, ‘Anything for 30-day trial.‘
    IF STR(@success) <> 1
      BEGIN
        EXEC sp_OAGetProperty @charset, ‘LastErrorText‘, @sTmp0 OUT
        PRINT @sTmp0
        EXEC @hr = sp_OADestroy @charset
        RETURN
      END

    EXEC sp_OASetProperty @charset, ‘FromCharset‘, ‘utf-8‘
    EXEC sp_OASetProperty @charset, ‘ToCharset‘, ‘ANSI‘

    --  We could alternatively be more specific and say "Windows-1252".
    --  The term "ANSI" means -- whatever character encoding is defined as the ANSI
    --  encoding for the computer.  In Poland, for example, it would be the single-byte-per-char
    --  used to represnt Eastern European language chars, which is Windows-1250.
    EXEC sp_OASetProperty @charset, ‘ToCharset‘, ‘Windows-1252‘

    EXEC sp_OAMethod @charset, ‘ConvertFile‘, @success OUT, ‘qa_data/txt/cafeUtf8.txt‘, ‘qa_output/cafeAnsi.txt‘
    IF STR(@success) <> 1
      BEGIN
        EXEC sp_OAGetProperty @charset, ‘LastErrorText‘, @sTmp0 OUT
        PRINT @sTmp0
        EXEC @hr = sp_OADestroy @charset
        RETURN
      END


    PRINT ‘Success.‘

    EXEC @hr = sp_OADestroy @charset


END
GO

以上是关于[转](SQL Server) Convert a File from utf-8 to ANSI (such as Windows-1252)的主要内容,如果未能解决你的问题,请参考以下文章

sql server中 int转varchar的方法

SQL Server函数中 convert(char(10),rq,21)>具体代表啥含义?

sqlserver 字符串转日期

(转)Sql日期时间格式转换

检查SQL SERVER数据库的使用情况

SQL SERVER中强制类型转换cast和convert的区别