when I checked with 'locale' in terminal, it is LOCALE=C
Hi lizrdidi. That's most likely the main problem. I think you'll have success if you follow these steps:
1. Load the extensions you need:
tce-load -wi getlocale and either
tce-load -wi unifont or
tce-load -wi fireflysung (note: I use TCL15 x86_64, which does not have fireflysung in the repo. Presumably your TCL version has it)
2. When prompted by getlocale, select your desired locale (zh_CN.UTF-8)
3. When getlocale is done, make sure it created
/etc/sysconfig/tcedir/optional/mylocale.tcz 4. Make sure
/etc/sysconfig/tcedir/onboot.lst contains this line (if this line does not exist in the file, add it):
mylocale.tcz
5. If you see
getlocale.tcz in
/etc/sysconfig/tcedir/onboot.lst, it's okay to remove it
6. Add
G_FILENAME_ENCODING=@locale to
~/.profile7. Your bootloader entry for TCL has a
linux line and an
initrd line. The to the linux line you should add
lang=zh_CN.UTF-8My bootloader's TCL entry has this linux line, for example (UUID show below was edited for privacy):
linux /boot/vmlinuz64 tce=UUID="e473b991-b711-4ad0-bf79-d6aaaaabbbbb" opt=UUID="e473b991-b711-4ad0-bf79-d6aaaaabbbbb" tz=EST+5EDT,M3.2.0/2,M11.1.0/2 syslog lang=en_US.UTF-8 user=bruno
I think after all the above is in place, things will work as you expect after you reboot.