I decided to try to choose your product so that I can always confidently get multi-language final products in compiled resources compiled exe/dll files from Visual Studio 2019.
As I understood it - this is requiring that resources that use a text component always match the correct code page. And then these strings will always be displayed correctly on the screen / faithfully transmitted by client-server communication.
What was done: the resource file (*.rc file) was formatted and saved in UTF-8+BOM encoding, as the most common and adequate for use among any development teams/just regular people even for simple communication. As well as all other project files.
Knowing in advance that the resource compiler (rc.exe from Microsoft) is prone to problems when building multilingual projects (in particular from the information on your blog), the following was written at the beginning of the rc file:
#pragma code_page(65001)
The project was built, launched, and checked. Everything seems to work. But this is on our platform/comps/OS/....
We sent it to a person on the other side of the Earth, and nothing good came out of it. The text became unreadable.
Then we checked the status of the CodePage field of the IMAGE_RESOURCE_DATA_ENTRY structure from the well-known description
of the PE/COFF format and saw that zero 0x0000 (0) (ANSI - Default) was set for all resources compiled and stored in my EXE file.
Ok, so I tried to use YOU utility: resinator.exe /c 65001 /fo MyEXEtool.res ..\MyEXEtool.rc
It seems that the file I was looking for appeared on the disk and there were no errors when creating it.
Then I further linked this file with the object files of my project and received the final EXE.
It was definitely a new file. I ran it, checked it, and everything was fine. On my computer, OS, etc...
BUT a new check with the special utility showed that nothing has changed in terms of the value
of the CodePage field....
Questions:
Did I do something wrong? is your utility still unable to specify a value for this field?
is Microsoft's linker incompatible with the final res file obtained from your utility?
Or something else?
I can physically see that this is possible in principle, because I see different real files where this field is filled with a valid constant,
and not just a default zero. Here's the question - how to ensure that it always works like this/generates the final rc/res/obj/exe/dll/...
I decided to try to choose your product so that I can always confidently get multi-language final products in compiled resources compiled exe/dll files from Visual Studio 2019.
As I understood it - this is requiring that resources that use a text component always match the correct code page. And then these strings will always be displayed correctly on the screen / faithfully transmitted by client-server communication.
What was done: the resource file (*.rc file) was formatted and saved in UTF-8+BOM encoding, as the most common and adequate for use among any development teams/just regular people even for simple communication. As well as all other project files.
Knowing in advance that the resource compiler (rc.exe from Microsoft) is prone to problems when building multilingual projects (in particular from the information on your blog), the following was written at the beginning of the rc file:
#pragma code_page(65001)The project was built, launched, and checked. Everything seems to work. But this is on our platform/comps/OS/....
We sent it to a person on the other side of the Earth, and nothing good came out of it. The text became unreadable.
Then we checked the status of the
CodePagefield of theIMAGE_RESOURCE_DATA_ENTRYstructure from the well-known descriptionof the PE/COFF format and saw that zero
0x0000 (0) (ANSI - Default)was set for all resources compiled and stored in my EXE file.Ok, so I tried to use YOU utility:
resinator.exe /c 65001 /fo MyEXEtool.res ..\MyEXEtool.rcIt seems that the file I was looking for appeared on the disk and there were no errors when creating it.
Then I further linked this file with the object files of my project and received the final EXE.
It was definitely a new file. I ran it, checked it, and everything was fine. On my computer, OS, etc...
BUT a new check with the special utility showed that nothing has changed in terms of the value
of the CodePage field....
Questions:
Did I do something wrong? is your utility still unable to specify a value for this field?
is Microsoft's linker incompatible with the final res file obtained from your utility?
Or something else?
I can physically see that this is possible in principle, because I see different real files where this field is filled with a valid constant,
and not just a default zero. Here's the question - how to ensure that it always works like this/generates the final rc/res/obj/exe/dll/...