Change: [Win32] Set the console codepage to UTF-8 #9444
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation / Problem
When doing tests for #9443, I noticed weird output in the console.
After some digging and testing, it appears we convert internal UTF-8 strings to UTF-16 before outputting them. And it seems the output just stops on the first "invalid" char for the console codepage (I tried many codepage and was never able to print a string from greek translation).
While testing stuff, I also notice a nice crash with
-q
switch.Description
Setting the console codepage to UTF-8 allows us to directly print the string without any conversion. Even if chars are not displayable by the console font, the string itself will be fully printed.
I also fixed the
-q
issue.Limitations
Checklist for review
Some things are not automated, and forgotten often. This list is a reminder for the reviewers.