ImgBurn works perfectly for DBCS (aka Multibyte Character Set) filenames with Joliet or UDF file system.
If the character set is changed to either DOS or ASCII, DBCS works with ISO9660 file system but sort of.
I guess ImgBurn is running in UNICODE and it converts UNICODE characters to ISO9660 characters by calling Windows API with specifying some parameters based on the character set selection, either Standard, DOS or ASCII.
The problem looks like to me if ImgBurn is truncating the filename byte length to half.
Please note that the filename byte length could be twice of the filename character length in DBCS.
Here is the example:
UnicodeSbcsStr = L"ABC";
UnicodeDbcsStr = L"@#$"; // Assume @, # and $ are characters used in DBCS.
UnicodeStrlen(UnicodeSbcsStr) == 3;
UnicodeStrlen(UnicodeDbcsStr) == 3;
SbcsStr = UnicodeToStr(UnicodeSbcsStr);
DbcsStr = UnicodeToStr(UnicodeDbcsStr);
Strlen(SbcsStr) == 3;
Strlen(DbcsStr) == 6;
SbcsStr == "ABC";
DbcsStr == "@@##$$"; // Single UNICODE character becomes double byte characters.
Hope this helps you to understand the problem and are able to fix ImgBurn.