diff --git a/packages/nodes-base/nodes/Files/ExtractFromFile/actions/spreadsheet.operation.ts b/packages/nodes-base/nodes/Files/ExtractFromFile/actions/spreadsheet.operation.ts index 6153037438..bebda26d16 100644 --- a/packages/nodes-base/nodes/Files/ExtractFromFile/actions/spreadsheet.operation.ts +++ b/packages/nodes-base/nodes/Files/ExtractFromFile/actions/spreadsheet.operation.ts @@ -17,7 +17,9 @@ export const description: INodeProperties[] = fromFile.description if (newProperty.name === 'options') { newProperty.options = (newProperty.options as INodeProperties[]).map((option) => { let newOption = option; - if (['delimiter', 'fromLine', 'maxRowCount', 'enableBOM'].includes(option.name)) { + if ( + ['delimiter', 'encoding', 'fromLine', 'maxRowCount', 'enableBOM'].includes(option.name) + ) { newOption = { ...option, displayOptions: { show: { '/operation': ['csv'] } } }; } if (option.name === 'sheetName') { diff --git a/packages/nodes-base/nodes/SpreadsheetFile/description.ts b/packages/nodes-base/nodes/SpreadsheetFile/description.ts index 78c8952b90..aac07f44d8 100644 --- a/packages/nodes-base/nodes/SpreadsheetFile/description.ts +++ b/packages/nodes-base/nodes/SpreadsheetFile/description.ts @@ -177,6 +177,26 @@ export const fromFileOptions: INodeProperties = { placeholder: 'e.g. ,', description: 'Set the field delimiter, usually a comma', }, + { + displayName: 'Encoding', + name: 'encoding', + type: 'options', + displayOptions: { + show: { + '/fileFormat': ['csv'], + }, + }, + options: [ + { name: 'ASCII', value: 'ascii' }, + { name: 'Latin1', value: 'latin1' }, + { name: 'UCS-2', value: 'ucs-2' }, + { name: 'UCS2', value: 'ucs2' }, + { name: 'UTF-8', value: 'utf-8' }, + { name: 'UTF16LE', value: 'utf16le' }, + { name: 'UTF8', value: 'utf8' }, + ], + default: 'utf-8', + }, { displayName: 'Exclude Byte Order Mark (BOM)', name: 'enableBOM', diff --git a/packages/nodes-base/nodes/SpreadsheetFile/v2/fromFile.operation.ts b/packages/nodes-base/nodes/SpreadsheetFile/v2/fromFile.operation.ts index ffafaa952d..719faeb478 100644 --- a/packages/nodes-base/nodes/SpreadsheetFile/v2/fromFile.operation.ts +++ b/packages/nodes-base/nodes/SpreadsheetFile/v2/fromFile.operation.ts @@ -92,6 +92,7 @@ export async function execute( const parser = createCSVParser({ delimiter: options.delimiter as string, fromLine: options.fromLine as number, + encoding: options.encoding as BufferEncoding, bom: options.enableBOM as boolean, to: maxRowCount > -1 ? maxRowCount : undefined, columns: options.headerRow !== false,