From: "Antonino A. Daplas" Create a variable, default_utf8, that defines the system-wide default UTF-8 setting. This variable can be altered via sysfs. If the variable is properly set, this should mimimize breakage of UTF-8 encoded consoles when doing a reset or echo -e '\033c' and of newly opened/allocated consoles. This is based from patches by Jan Engelhardt and Paul LeoNerd Evans. Signed-off-by: Antonino Daplas Cc: Jan Engelhardt Cc: Paul LeoNerd Evans Cc: "H. Peter Anvin" Signed-off-by: Andrew Morton --- drivers/char/vt.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff -puN drivers/char/vt.c~vt-expose-system-wide-utf-8-default-setting-via-sysfs drivers/char/vt.c --- a/drivers/char/vt.c~vt-expose-system-wide-utf-8-default-setting-via-sysfs +++ a/drivers/char/vt.c @@ -157,6 +157,8 @@ static void blank_screen_t(unsigned long static void set_palette(struct vc_data *vc); static int printable; /* Is console ready for printing? */ +static int default_utf8; +module_param(default_utf8, int, S_IRUGO | S_IWUSR); /* * ignore_poke: don't unblank the screen when things are typed. This is @@ -1517,7 +1519,7 @@ static void reset_terminal(struct vc_dat vc->vc_charset = 0; vc->vc_need_wrap = 0; vc->vc_report_mouse = 0; - vc->vc_utf = 0; + vc->vc_utf = default_utf8; vc->vc_utf_count = 0; vc->vc_disp_ctrl = 0; _