[PR #1698] fix: replace iconv with encoding_rs #2412

Closed
opened 2026-01-29 17:22:00 +00:00 by claunia · 0 comments
Owner

Original Pull Request: https://github.com/CCExtractor/ccextractor/pull/1698

State: closed
Merged: Yes


In raising this pull request, I confirm the following (please check boxes):

  • I have read and understood the contributors guide.
  • I have checked that another pull request for this purpose does not exist.
  • I have considered, and confirmed that this submission will be valuable to others.
  • I accept that this submission may not be used, and the pull request closed at the will of the maintainer.
  • I give this submission freely, and claim no ownership to its content.
  • I have mentioned this change in the changelog.

My familiarity with the project is as follows (check one):

  • I have never used CCExtractor.
  • I have used CCExtractor just a couple of times.
  • I absolutely love CCExtractor, but have not contributed previously.
  • I am an active contributor to CCExtractor.

Closes #1697

The iconv crate is currently unmaintained and broken on the latest version of rust (see this issue). This PR migrates the encoding from iconv to the well maintained encoding_rs library.

Note that the rust implementation for this particular case was and still is buggy, regression tests 142, 147 and 149 all of which test this specific scenario have historically had empty output files (see here for eg), which is why the tests were passing. The C builds however, produce the proper outputs.

**Original Pull Request:** https://github.com/CCExtractor/ccextractor/pull/1698 **State:** closed **Merged:** Yes --- <!-- Please prefix your pull request with one of the following: **[FEATURE]** **[FIX]** **[IMPROVEMENT]**. --> **In raising this pull request, I confirm the following (please check boxes):** - [x] I have read and understood the [contributors guide](https://github.com/CCExtractor/ccextractor/blob/master/.github/CONTRIBUTING.md). - [x] I have checked that another pull request for this purpose does not exist. - [x] I have considered, and confirmed that this submission will be valuable to others. - [x] I accept that this submission may not be used, and the pull request closed at the will of the maintainer. - [x] I give this submission freely, and claim no ownership to its content. - [ ] **I have mentioned this change in the [changelog](https://github.com/CCExtractor/ccextractor/blob/master/docs/CHANGES.TXT).** **My familiarity with the project is as follows (check one):** - [ ] I have never used CCExtractor. - [ ] I have used CCExtractor just a couple of times. - [ ] I absolutely love CCExtractor, but have not contributed previously. - [x] I am an active contributor to CCExtractor. --- Closes #1697 The iconv [crate](https://github.com/andelf/rust-iconv) is currently unmaintained and broken on the latest version of rust (see this [issue](https://github.com/andelf/rust-iconv/issues/10)). This PR migrates the encoding from iconv to the well maintained [encoding_rs](https://crates.io/crates/encoding_rs) library. Note that the rust implementation for this particular case was and still is buggy, regression tests 142, 147 and 149 all of which test this specific scenario have historically had empty output files (see [here](https://sampleplatform.ccextractor.org/regression/test/142/view) for eg), which is why the tests were passing. The C builds however, produce the proper outputs.
claunia added the pull-request label 2026-01-29 17:22:00 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/ccextractor#2412