File Mover Blog

July 17, 2022

Convert character set of text file

Q: Convert character set of text file. I think I need some help here. We connect to a SFTP-server and download 3 files. One of these are a UTF-8 file named Vyymmdd.Thhmmss (i.e. V220627.TT110759). We need to download all 3 files, and convert the UTF-8 file to ISO-8859-1. I have found this article: https://limagito.com/text-character-encoding-conversion/

And edited like this : psChangeTxtEncodingExt(psFilePath + psFileName, ctOutputpath + psFileName, 65001, 28591, True)

Runtime Log says the file was successfully converted. But if I open the file in Notepad++ and click the “Encoding” option on the menu, it highlights UTF-8.

A: In version v2022.7.17.0 we added some extra functions to help you convert the character set of  text files:

Function psChangeTxtEncodingCk(Source, Destination: String; SrcCharset, DstCharset: String; WriteBOM: Boolean; ErrorAction: Integer): Boolean;

Do not use this function when Source and Destination file are the same, use psChangeTxtEncodingCkExt instead.

  • ErrorAction: Controls how errors are handled. When a character in the input data cannot be converted to the target charset, the action taken is controlled by this property.
    The possible settings are:
    (0) drop the error characters,
    (1) substitute the data set by a ?
    (2) convert to a hex-escaped string (&#xXXXX)
    (3) RESERVED
    (4) RESERVED
    (5) RESERVED
    (6) RESERVED
    (7) Pass non-convertible characters to the output unchanged.
  • The Source and Destination Charset can be any of the supported encodings listed at Chilkat Supported Character Encodings.

Function psChangeTxtEncodingCkExt(Source, Destination: String; SrcCharset, DstCharset: String; WriteBOM, WriteFileIfModified: Boolean): String;

    • WriteFileIfModified: writes the contents to a file, but only if it is a new file or if the contents are different than the existing file.
    • WriteBOM: the BOM (also known as a preamble), is emitted for charsets that define a BOM (such as utf-8, utf-16, utf-32, etc.)
    • The Source and Destination Charset can be any of the supported encodings listed at Chilkat Supported Character Encodings.

#Filetransfer #Filemanagement #Encoding

If you need any info about this ‘Convert character set’ question, please let us know.

Best regards,

Limagito Team

By Limagito-Team Pascal Script , , , Share:
SEARCH