qemu-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: qemu and Unicode characters on serial console


From: Francois
Subject: Re: qemu and Unicode characters on serial console
Date: Tue, 16 Mar 2021 22:08:02 +0100

Thanks for your reply!
I tee-ed the output into a file and it is really a "?" character
coming out of the serial port.

Now, checking the code:
https://github.com/tianocore/edk2/blob/master/EmbeddedPkg/SimpleTextInOutSerial/SimpleTextInOut.c#L484

```
CHAR8 *
EFIAPI
SafeUnicodeStrToAsciiStr (
...
if (*Source < 0x80) {
*Destination = (CHAR8) *Source;
} else {
*Destination = '?';
```

It really looks like it has nothing to do with qemu, it is just the
way it was coded :D

Cheers

On Tue, 16 Mar 2021 at 21:29, Jakob Bohm <jb-gnumlists@wisemo.com> wrote:
>
> On 2021-03-14 11:10, Francois wrote:
> > Hi qemu! I am wondering if it is possible to get Unicode support
> > through a stdio, or pty, serial console.
> > I am running qemu from CentOS stream
> > qemu-kvm-core-4.2.0-35.module_el8.4.0+547+a85d02ba.x86_64
> > My terminal and locale use UTF-8.
> > I am booting into the OVMF boot menu below, that lets me change the
> > language to French, however characters like é è ç are badly rendered.
> > I would expect the UEFI shell "edit" command to support unicode
> > characters but I cannot test this either.
> > My goal is to use Unicode characters in the boot entries (or "options
> > de bottes" as it is funnily translated today) so they look nice.
> >
> > ```
> > /usr/libexec/qemu-kvm \
> > -m 512M \
> > -net none \
> > -machine q35 \
> > -pflash ./OVMF_CODE.secboot.fd \
> > -pflash ./OVMF_VARS.fd \
> > -serial stdio \
> > -debugcon file:debug.log -global isa-debugcon.iobase=0x402
> > ```
> >
> > Cheers
> >
> You need to consider which character encoding the UEFI BIOS code
> assumes for the serial port.
>
> Obvious possibilities that could all be used with French:
>
> 1. UTF-8
> 2. ISO8859-1
> 3. ISO8859-15 (same as -1, except the code for the Euro symbol)
> 4. MS1252 (Same as -1, but extra characters, including the Euro
>    symbol on an unused number)
> 5. IBM 437 (Used by the oldest IBM BIOS)
> 6. IBM 850 (Fewer graphics characters for menus, more accented
>    letters)
>
> If the UEFI BIOS uses one of these, but the software processing
> the serial output uses a different one, the result is very ugly
> MojiBake.
>
> Enjoy
>
> Jakob
> --
> Jakob Bohm, CIO, Partner, WiseMo A/S.  https://www.wisemo.com
> Transformervej 29, 2860 Søborg, Denmark.  Direct +45 31 13 16 10
> This public discussion message is non-binding and may contain errors.
> WiseMo - Remote Service Management for PCs, Phones and Embedded
>
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]