Not sure what your problem is but it looks like Glib is complaining, not
mc. Having unicode in your flags would seem to infer UTF-8 support but
I'm no expert.
There's an assumption that you've already run an emerge --sync, emerge
--update @world and a depclean and that you don't have any unusual
entries in package.mask, package.accept_keywords, or friends. Also that
you don't have any overlays that could be muddying the waters.
Then I'd try the following and check your pcre and glib libraries are
consistent.
# ldd /usr/bin/mc|egrep "glib|pcre"
libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0
(0x00007f6672c58000)
libpcre2-8.so.0 => /usr/lib64/libpcre2-8.so.0 (0x00007f66728c7000)
# ls -l /usr/lib64/{libpcre2-8*,libglib-2*}
lrwxrwxrwx 1 root root 16 Dec 14 13:49 /usr/lib64/libglib-2.0.so ->
libglib-2.0.so.0
lrwxrwxrwx 1 root root 23 Dec 14 13:49 /usr/lib64/libglib-2.0.so.0
-> libglib-2.0.so.0.7400.3
-rwxr-xr-x 1 root root 1291352 Dec 14 13:50
/usr/lib64/libglib-2.0.so.0.7400.3
lrwxrwxrwx 1 root root 20 Dec 13 16:31 /usr/lib64/libpcre2-8.so ->
libpcre2-8.so.0.11.2
lrwxrwxrwx 1 root root 20 Dec 13 16:31 /usr/lib64/libpcre2-8.so.0
-> libpcre2-8.so.0.11.2
-rwxr-xr-x 1 root root 641544 Dec 13 16:31 /usr/lib64/libpcre2-8.so.0.11.2