fbcon doesn't set a unimap at boot time, so special characters come out
wrongly.
This is the code sequence in take_over_console().
newcon->startup()
oldcon->deinit()
newcon->init()
The previous console driver (ie, vgacon), via its deinit method, may release
the unimap allocated by fbcon in fbcon_startup. This is the reason why
calling con_set_default_unimap() in fbcon_init() works, but not in
fbcon_startup().
Check if the default display has an allocated unimap, and if it has none,
call con_set_default_unimap(). And if the target display has no allocated
unimap, then call con_copy_unimap(), where the source unimap is from the
default display.