It was the God darn Flatpack! (ノ °益°)ノ 彡 ┻━┻
Thanks to the answer here (Java error creating Path from String, does linux limit filenames to 8bit charset), I managed to figure it out.
To test it, I created a basic Java project in IntelliJ with the following code:
import java.io.File;
public class Test {
public static void main(String[] args) {
File f = new File("\u2026");
f.toPath();
}
}
Whenever I ran it via IntelliJ, I'd get an error: Malformed input or input contains unmappable characters: ?
But if I were to run it via terminal using java Main
(after compiling it with javac Main.java
), it ran fine. Without even the LANG
variables.
In the Flatpack IntelliJ version, I was getting this message in the console (which I kept missing cause it was always hidden because of the rest of my System.out.println()
output or the errors - with which it blends real nice)
"Gtk-WARNING **: Locale not supported by C library. Using the fallback 'C' locale."
So I downloaded the .tar.gz
for Linux from IntelliJ's website, ran it via terminal ($./idea
) and what do you know? The warning wasn't there.
I tested the sample above by running it in IntelliJ and it worked fine. Didn't even need the VMOptions
or anything.
So I opened my project and all of the code described in the original post worked as expected.
No ?????
, no �����
and it even created the files described in the MainController.java
file properly.
I spent 2 days dealing with this issue...