kampidh / jxl-batch-converter

A simple GUI for libjxl binaries
GNU General Public License v3.0
28 stars 1 forks source link

It is not possible to convert files whose name or path contains non-ASCII characters #9

Open Ukhryuk-Hai opened 6 months ago

Ukhryuk-Hai commented 6 months ago

This is a long-standing and considerable problem. I've been looking for a long time for program that can handle these characters and I know that the reason is in the JXL encoder, since its creators lack the skill or desire to fix it.

However, the solution is actually quite simple. Just need to add code that will analyze the name + path and, if it detects non-ASCII characters, it will copy the file to a temporary folder on the same disk, changing the name to a “safe” one, for example, “file”, converting, then moves the result to the original folder and restores the original name. I don’t know why no one has done this before.

What do you think about it? Can you provide your converter with this functionality?

kampidh commented 6 months ago

As for this one, sorry I'm afraid it's still beyond the scope for this app.

In my own opinion, maybe because it'll add unnecessary maintenance burden to the code, unnecessary disk write/erase, and not to mention that it may open a bigger can of worm (complexities).

Therefore I'll choose to wait for fixes from libjxl side instead, since the framework (Qt) can parse unicode and it already works fine on linux (tested in ubuntu wsl2 with libjxl 0.10.2): image

Ukhryuk-Hai commented 6 months ago

I'm sorry to hear it. Then I will continue my search. If all the creators of converter programs consider this problem absolutely unsolvable, then I will try to master a virtual machine and Linux solely for this purpose.

I think it makes no sense to hope that the creators of JXL will one day be able to fix the bug, since many people have been asking for this for a long time and nothing has changed since then. It's amazing that there are a lot of formats and converters in the world, but only JXL is so buggy.

kampidh commented 6 months ago

I've tested some methods as a workaround for this, feel free to test it: https://github.com/kampidh/jxl-batch-converter/releases/tag/v0.5.3-alpha

It's still limited to filenames only. So if the files are contained in a non-ASCII-named folder, the conversion still fails.

Qhilm commented 2 weeks ago

I did conversion with non-ascii characters last week using cjxl and it worked fine. In case that helps.