Latin Characters Break ParTool
Fronkln opened this issue · comments
"E:\Program Dosyaları" turns into "E:\Program Dosyalar─▒ " which causes ParTool to not find the file
It probably happens because the app uses codepage 1252 to encode the filenames inside the par file. That is because the original par files uses that encoding.
Anyway, you give very little information to identify the problem:
- "E:\Program Dosyaları" is the ParTool path, the .par file path or the .par contents path?
- What are you trying to do? Extract a par? Create it? Add files to it?
- What is the exact error message?
It probably happens because the app uses codepage 1252 to encode the filenames inside the par file. That is because the original par files uses that encoding.
Anyway, you give very little information to identify the problem:
- "E:\Program Dosyaları" is the ParTool path, the .par file path or the .par contents path?
- What are you trying to do? Extract a par? Create it? Add files to it?
- What is the exact error message?
-It's the broken part of the full path, which caused it to not find
-I am trying to extract
-It tells me the file is not found
I don't understand:
- "E:\Program Dosyaları" is the ParTool path, the .par file path or the .par contents path?
-It's the broken part of the full path, which caused it to not find
"part of the full path" of what? The "ParTool.exe" path? The input .par path? Or the output directory path?
- What is the exact error message?
-It tells me the file is not found
That's not an exact error message. I need you to copy and paste the output message of the app or make a window capture.
ERROR: "E:\Program Dosyalar─▒ (x86)\SteamLibrary\steamapps\common\Yakuza Like a Dragon\runtime\media\data\sound_en.par" not found!!!!
extract.bat
partool.exe extract "E:\Program Dosyaları (x86)\SteamLibrary\steamapps\common\Yakuza Like a Dragon\runtime\media\data\sound_en.par" "E:\Program Dosyaları (x86)\SteamLibrary\steamapps\common\Yakuza Like a Dragon\runtime\media\data\sound_out"
Thank you.
The problem are not the path characters, but Program Dosyaları (x86)
is a shortcut to Program Files (x86)
Try with:
partool.exe extract "E:\Program Files (x86)\SteamLibrary\steamapps\common\Yakuza Like a Dragon\runtime\media\data\sound_en.par" "E:\Program Files (x86)\SteamLibrary\steamapps\common\Yakuza Like a Dragon\runtime\media\data\sound_out"
Doesn't seem to be working, even if it did, it would only solve this for Program Files, and not any other case where the path still has latin characters (for example, someone could have a SteamLibrary folder inside a folder that has a latin character, and try to extract the files from Yakuza games inside that library folder)
I propose to parse the path with the user's system encoding, and do anything else with codepage 1252
I've created a directory named Program Dosyaları (x86)
in my computer and the app extracts the .par files in it without problem. And I've also tried with some Spanish character in directory names and it works well, so the characters are not the problem… Maybe, you are missing some space in the path or something like that.
It's not missing because i have copy pasted the same path to my Windows Explorer and it asked me to open the file
bandicam.2021-07-19.18-09-24-332.mp4
I've only been able to reproduce the error when I wrote Archivos de programa (x86)
(the Spanish alias to Program Files (x86)
) at the command line, but using Program Files (x86)
worked fine. All the other tests have worked too.
I'm sorry, but I can't fix a bug if can't reproduce it. If you drag&drop the .par file on ParTool.exe
, does it works?
No error on that
Well, if drag&drop works, the problem must be in the command you are using.
My advise is to open a command line and write the command from scratch using tab to autocomplete the path instead of using a bat file.
Alright