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