JEncConv converts the encoding of text files, e.g. subtitles.
If you don't know the original encoding,
use the program's preview function
with different encodings (e.g. Latin1, windows-1250).
It can also detect possible encodings.
If errors are found during decoding or encoding, several behaviors are available for each step: failing, inserting a custom string or ignoring the error altogether (details below).
It can also be used from the command line (to convert many files at once).
Run it with --help to see a list of options.
You can use plugins to change the text. Some are included in the program, and writing new ones in Java is easy (see the Plugins Tutorial page).
Download
the latest version.
Unzip it.
Run the program by double-clicking the .jar
or by typing java -jar jencconv-*.jar in a terminal.
You need Java installed.
JEncConv gives the user a choice between several behaviors in case errors are found. Decoding behavior and encoding behavior are chosen separately.
PyEncConv is a similar project written in Python 3.
Both projects use the encoding and decoding functionality of their platforms (Java and Python). For most uses, they behave identically. But for some corner cases, you might prefer one over the other.
Supported encodings: Many encodings are supported by both, but not all (for example ISO-8859-16 (Latin10) is supported by Python 3 but not by Sun's Java 1.6).
Error Handling: PyEncConv only uses its platform's default behavior (stop and fail with an error).
Writing plugins is easy! The Plugins Tutorial page has a step-by-step example.
Browse the sources on
github.com/MihaiB/JEncConv.
To build from sources, you need
this jar
in the lib/ directory
(a personal library for easily building a Swing GUI).
The project has an ant buildfile.
Use ant -p for the project help information.
A PAD file for the program is provided here. It was created using padbuilder.com.
My sourceforge developer page.