Is there a way to track the changes OS chracter set (encoding) for example lets say the character set was UTF8 before month and its now Latin?
That sort of change rarely leaves audit traces around. It can be done, sort of, but you have to get creative with your audit policies and do some inference. Which is to say, it isn't easy and doesn't give you a clear
locale changed audit-line to grep for.
If you're looking to see if it has historically happened on a system that has not already been configured to catch that sort of thing, you're out of luck.
Charsets are generally application and file specific. As far as the underlying GNU/Linux system, it's all just a sequence of bytes.
The closest thing you will find globally is probably your locale. The current setting is accessible through the
locale command. The method to effect permanent global locale changes are distribution-specific.
There's also mount options for most filesystems in /etc/fstab to change the filename encoding to UTF8.