Sample code for 30+ languages & platforms
DataFlex

Convert a File from utf-8 to ANSI (such as Windows-1252)

See more HTML-to-XML/Text Examples

This example is to satisfy a particular user's support question:

I have a file that contains this text:

Original file textConverted using notepad
TextCAFÉCAFÉ
Hex43 41 46 c3 8943 41 46 c9

The utf-8 representation of the character É is the two bytes 0xC3 0x89. When Notepad is displaying the utf-8 file, it is intepreting the bytes as if they are ANSI (1 byte per char), and thus it is showing the ANSI char for 0xC3 (Ã) and the ANSI char for 0x89 (‰). After converting to ANSI, the É is represented by the single byte 0xC9.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoCharset
    String sTemp1

    Move False To iSuccess

    // This example assumes the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    Get Create (RefClass(cComChilkatCharset)) To hoCharset
    If (Not(IsComObjectCreated(hoCharset))) Begin
        Send CreateComObject of hoCharset
    End

    Set ComFromCharset Of hoCharset To "utf-8"
    Set ComToCharset Of hoCharset To "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.
    Set ComToCharset Of hoCharset To "Windows-1252"

    Get ComConvertFile Of hoCharset "qa_data/txt/cafeUtf8.txt" "qa_output/cafeAnsi.txt" To iSuccess
    If (iSuccess <> True) Begin
        Get ComLastErrorText Of hoCharset To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Showln "Success."


End_Procedure