unsis icon indicating copy to clipboard operation
unsis copied to clipboard

MakeNSIS does not output unicode

Open GoogleCodeExporter opened this issue 9 years ago • 3 comments

It seems like makensis does a conversion to char* at some point, a simple 
UTF16LE .nsi with some non-ascii characters do not make it all the way from 
input to output without a conversion that corrupts it.

Test script:
!echo "ĦĔĹĽΘ ŴØŖĿĎ" ;I don't know if the issue tracker can handle 
this so I also attached the script
!error AbortTest

Output from makensis.exe test.nsi:
--snipped--
Processing script file: "test.nsi"
????? ?╪??? (test.nsi:1)
!error: AbortTest
--snipped--

type test.nsi shows the correct output.

cmd.exe is running with a true type font (Lucida Console). I also tried running 
chcp 65001 first but that did not help...


Original issue reported on code.google.com by [email protected] on 11 Mar 2012 at 8:21

Attachments:

GoogleCodeExporter avatar Mar 14 '15 04:03 GoogleCodeExporter

The problem is not with makensis but with cmd.exe. The cmd.exe can't really 
handle Unicode. You have to use makensisw.exe to see the Unicode output.

Original comment by [email protected] on 12 Mar 2012 at 3:21

  • Changed state: Invalid

GoogleCodeExporter avatar Mar 14 '15 04:03 GoogleCodeExporter

Saying the console cannot handle Unicode is simply not true, it cannot handle 
RTL and things that require Uniscribe but it can display a lot of the BMP.

See http://i39.tinypic.com/2guxjrp.png

See also: Anyone who says the console can't do Unicode isn't as smart as they 
think they are: http://blogs.msdn.com/b/michkap/archive/2010/04/07/9989346.aspx

Original comment by [email protected] on 13 Mar 2012 at 12:42

GoogleCodeExporter avatar Mar 14 '15 04:03 GoogleCodeExporter

It looks like you are right it looks like WriteConsoleW is your friend. I will 
have to take a look to see how to best fit it into the code. I'll keep this 
issue open and consider it for the next release.

Original comment by [email protected] on 13 Mar 2012 at 1:09

  • Changed state: Accepted

GoogleCodeExporter avatar Mar 14 '15 04:03 GoogleCodeExporter