( asch | 2024. 11. 13., sze – 10:05 )

Szerintem az a verzió a hibás, aminél meg kell adni a plusz paramétert, mert pont az a lényeg, hogy az argumentum átadásnak jól kell működni magától. Mivel a Java API-n String típusú a bemeneti paraméter, amit 16 bites UTF-re alakít belül (logikailag legalábbis), ezért sajnos a bináris eredetihez nem tudsz hozzáférni. El tudom képzelni, hogy a terminálban az ENV változók rosszak, és emiatt téved el a JRE, hogy mégis milyen encoding szerint értelmezze a bemenetet. A JRE8 open source, meg lehet nézni, hogy pontosan mit is csinál a bemenettel.

Alterntív megoldás eszképelni a bemenetet még mielőtt átadnád a programodnak, átnevezni a fájlt (ha már úgyis szkript dolgozik), vagy egy fájlba írni a bemeneti paramétereket ismert enkódolással. Esetleg JVM-et tenni a programka mellé. Sajnos ez mind jelentős bonyolítás.