iReboot Menu encoding

Gingko

New Member
#1
Hello,

I understand this is certainly the least important problem that I could meet with iReboot.

But nevertheless, I think it could be great if the iReboot popup menu could understand the same charset encoding than the EasyBCD boot configuration.

iReboot_encoding.gif

Regards,

Gingko
 

mqudsi

Mostly Harmless
Staff member
#3
Merci pour la suggestion, @Ginko!

This is a very fair request. Unfortunately getting the correct encoding out of bcdedit is a serious pain; getting it to work for EasyBCD required some rather dark magic, but it shouldn't be too hard to replicate that with iReboot as it has been working swimmingly and without any complaints in EasyBCD for some time now.
 

Gingko

New Member
#4
Merci pour la suggestion, @Ginko!

This is a very fair request. Unfortunately getting the correct encoding out of bcdedit is a serious pain; getting it to work for EasyBCD required some rather dark magic, but it shouldn't be too hard to replicate that with iReboot as it has been working swimmingly and without any complaints in EasyBCD for some time now.
Is it really necessary to get it out of bcdedit specifically ?

This very looks like being the same encoding as the cmd console one, which is itself the legacy encoding inherited from MS-Dos in the 1980 years.

That is, in French the CP 850 encoding, in English the CP 437 encoding, and in other countries, some encoding from the similar tables inherited from this period, more or less unofficially grouped under the name OEM.

There are standard Windows library functions for identifying and converting that.
See GetConsoleOutputCP, for example.

Gingko
 

mqudsi

Mostly Harmless
Staff member
#5
Those APIs cannot be used (as in, they do not have the intended effect) when calling a console application from a .NET process. You can see the discussion here: Force StandardOutputEncoding to UTF8
 

Gingko

New Member
#6
Those APIs cannot be used (as in, they do not have the intended effect) when calling a console application from a .NET process. You can see the discussion here: Force StandardOutputEncoding to UTF8
The only thing that matters here is identifying the console encoding, there is no need to change the console behaviour in any manner.

And anyway, I realize that there is no need to talk about console.

The correct encoding is handled by EasyBCD, why iReboot, which is supposed to have been written by the same programmer or programming team, couldn't be able to do the same?
 

mqudsi

Mostly Harmless
Staff member
#7
The only thing that matters here is identifying the console encoding, there is no need to change the console behaviour in any manner.
No, that is not correct. The problem is that the information is lost before it gets to the .NET host. It is not a matter of reading the stream with the incorrect encoding, the stream itself no longer contains characters outside the latin1 charset, they are lost before the stream is passed on to the calling application.

The correct encoding is handled by EasyBCD, why iReboot, which is supposed to have been written by the same programmer or programming team, couldn't be able to do the same?
I'm not sure what part of my message you did not understand:
Unfortunately getting the correct encoding out of bcdedit is a serious pain; getting it to work for EasyBCD required some rather dark magic, but it shouldn't be too hard to replicate that with iReboot as it has been working swimmingly and without any complaints in EasyBCD for some time now.
I already said: 1) there is a problem that was solved for EasyBCD and EasyBCD's solution appears to be correct, 2) I will need to make the same (complicated) changes to iReboot to get it to work.

I agreed with you that this is a deficiency in iReboot and that it should be addressed. And I said that I plan on doing so.