[PR #6057] [CLOSED] [WIP] [Feature] CSV encoding options #55603

Closed
opened 2026-05-01 02:40:39 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/actualbudget/actual/pull/6057
Author: @biesbjerg
Created: 11/2/2025
Status: Closed

Base: masterHead: feature-import-csv-encoding


📝 Commits (10+)

📊 Changes

17 files changed (+153 additions, -3 deletions)

View changed files

📝 packages/desktop-client/e2e/accounts.test.ts-snapshots/Accounts-Import-Transactions-import-csv-file-twice-1-chromium-linux.png (+0 -0)
📝 packages/desktop-client/e2e/accounts.test.ts-snapshots/Accounts-Import-Transactions-import-csv-file-twice-2-chromium-linux.png (+0 -0)
📝 packages/desktop-client/e2e/accounts.test.ts-snapshots/Accounts-Import-Transactions-import-csv-file-twice-3-chromium-linux.png (+0 -0)
📝 packages/desktop-client/e2e/accounts.test.ts-snapshots/Accounts-Import-Transactions-imports-transactions-from-a-CSV-file-1-chromium-linux.png (+0 -0)
📝 packages/desktop-client/e2e/accounts.test.ts-snapshots/Accounts-Import-Transactions-imports-transactions-from-a-CSV-file-2-chromium-linux.png (+0 -0)
📝 packages/desktop-client/e2e/accounts.test.ts-snapshots/Accounts-Import-Transactions-imports-transactions-from-a-CSV-file-3-chromium-linux.png (+0 -0)
📝 packages/desktop-client/src/components/modals/ImportTransactionsModal/ImportTransactionsModal.tsx (+42 -2)
packages/loot-core/src/mocks/files/data_euc-jp.csv (+4 -0)
packages/loot-core/src/mocks/files/data_euc-kr.csv (+4 -0)
packages/loot-core/src/mocks/files/data_gb18030.csv (+4 -0)
packages/loot-core/src/mocks/files/data_utf8.csv (+4 -0)
packages/loot-core/src/mocks/files/data_windows1252.csv (+4 -0)
📝 packages/loot-core/src/server/transactions/import/parse-file.test.ts (+62 -0)
📝 packages/loot-core/src/server/transactions/import/parse-file.ts (+4 -1)
packages/loot-core/src/types/encoding.ts (+18 -0)
📝 packages/loot-core/src/types/prefs.ts (+1 -0)
upcoming-release-notes/6057.md (+6 -0)

📄 Description

Fixes #3848

Adds the ability to specify character encoding when importing CSV files, enabling correct import of files from banks that use non-UTF-8 encodings. This fixes garbled characters in payee names and descriptions for international users whose banks export data in legacy encodings.

I tried adding the encoding option at the readFile layer but was not successful, so finally opted to make the changes in parseCSV to minimize impact on other areas in actual budget.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/actualbudget/actual/pull/6057 **Author:** [@biesbjerg](https://github.com/biesbjerg) **Created:** 11/2/2025 **Status:** ❌ Closed **Base:** `master` ← **Head:** `feature-import-csv-encoding` --- ### 📝 Commits (10+) - [`5b852c0`](https://github.com/actualbudget/actual/commit/5b852c0ccca9b4ee6ca7b2e30a30496cfb421301) wip - [`d0811b8`](https://github.com/actualbudget/actual/commit/d0811b8f0efd07a4423d741bc236b9b00abce4e7) cleanup - [`affb568`](https://github.com/actualbudget/actual/commit/affb568425a6bd50c5f1ee595a9ed56dc9405ca3) wip - [`5a51ff8`](https://github.com/actualbudget/actual/commit/5a51ff8922401023a0179ffc537f3cba0c6a6b58) wip - [`db26b21`](https://github.com/actualbudget/actual/commit/db26b2191187e00913533f7e73dcec492636398e) wip - [`fd26d0c`](https://github.com/actualbudget/actual/commit/fd26d0cc97e3918e00c4988b0f98ec8b971904e7) wip - [`763a070`](https://github.com/actualbudget/actual/commit/763a070381fcf7c87150c9e0fbdbb29e7c771e0d) wip - [`5a3fc9b`](https://github.com/actualbudget/actual/commit/5a3fc9b2657f872f7bd53e787f3f1b7134a2404c) wip - [`bd02367`](https://github.com/actualbudget/actual/commit/bd02367f5d75c8c78b9fb985e7b5effa16daa342) feature-import-csv-encoding - [`a8c28f7`](https://github.com/actualbudget/actual/commit/a8c28f7d2ebc4268ac86d5b4913a3822593bc399) feature-import-csv-encoding ### 📊 Changes **17 files changed** (+153 additions, -3 deletions) <details> <summary>View changed files</summary> 📝 `packages/desktop-client/e2e/accounts.test.ts-snapshots/Accounts-Import-Transactions-import-csv-file-twice-1-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/e2e/accounts.test.ts-snapshots/Accounts-Import-Transactions-import-csv-file-twice-2-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/e2e/accounts.test.ts-snapshots/Accounts-Import-Transactions-import-csv-file-twice-3-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/e2e/accounts.test.ts-snapshots/Accounts-Import-Transactions-imports-transactions-from-a-CSV-file-1-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/e2e/accounts.test.ts-snapshots/Accounts-Import-Transactions-imports-transactions-from-a-CSV-file-2-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/e2e/accounts.test.ts-snapshots/Accounts-Import-Transactions-imports-transactions-from-a-CSV-file-3-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/src/components/modals/ImportTransactionsModal/ImportTransactionsModal.tsx` (+42 -2) ➕ `packages/loot-core/src/mocks/files/data_euc-jp.csv` (+4 -0) ➕ `packages/loot-core/src/mocks/files/data_euc-kr.csv` (+4 -0) ➕ `packages/loot-core/src/mocks/files/data_gb18030.csv` (+4 -0) ➕ `packages/loot-core/src/mocks/files/data_utf8.csv` (+4 -0) ➕ `packages/loot-core/src/mocks/files/data_windows1252.csv` (+4 -0) 📝 `packages/loot-core/src/server/transactions/import/parse-file.test.ts` (+62 -0) 📝 `packages/loot-core/src/server/transactions/import/parse-file.ts` (+4 -1) ➕ `packages/loot-core/src/types/encoding.ts` (+18 -0) 📝 `packages/loot-core/src/types/prefs.ts` (+1 -0) ➕ `upcoming-release-notes/6057.md` (+6 -0) </details> ### 📄 Description Fixes #3848 Adds the ability to specify character encoding when importing CSV files, enabling correct import of files from banks that use non-UTF-8 encodings. This fixes garbled characters in payee names and descriptions for international users whose banks export data in legacy encodings. I tried adding the encoding option at the `readFile` layer but was not successful, so finally opted to make the changes in `parseCSV` to minimize impact on other areas in actual budget. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-05-01 02:40:39 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#55603