Do you mean character set or language? If you mean the latter, Zenphoto will support any language you supply. If you mean the former, then it is mostly correct. Zenphoto operates internally in only one character set (preferably UTF-8). It will convert to that characterset when needed and directed.
For instance, file systems are normally in ISO 8859 but Zenphoto will convert them to the internal character set. If your file system happens to not be ISO 8859 you will have to change the Zenphoto define to tell the correct encoding.
EXIOF/IPTC data is more problematical. Most software does not properly identify the character set it has used to store the data. Zenphoto will convert it, though. It assumes ISO 8859 unless the data is identified as UTF-8. If the data is not ISO 8859 you will have to configure Zenphoto to tell it what the data is. (Note, we do presume that all your unidentified EXIF/IPTC data is the same character set. What other choice do we have?)
PHP also has an internal character set. Setup will notify you if that is not set for proper handling.
There is also the character set of you database fields. These will be set to UTF-8 in a new installation. But if you have an older one, they may not be set to the proper value for the data you have stored there. Your only choice then is to manually convert the data.
In short, Zenphoto works with the information supplied it. If the information is wrong you should not be suprised that Zenphoto gets it wrong.