The problem probably is that the lua function os.date() returns the value always encoded with your current code page. So, if you concatenate that with the utf-8 encoded string there are two different encodings in the same strings and Rainlendar doesn't know how to decode it (ain't text encoding fun

.
I tried to change my locale settings to Traditional Chinese but I can't make the "%a" to return anything else but English and Finnish for some reason. But you can try to solve the problem like this:
sTime = "Chinese characters go here" .. Rainlendar_ConvertString(os.date("%x %a"), "big5")
The "big5" should be the code page for your current locale. If the "big5" doesn't work you can also try "950" as the code page as that's what Windows calls it.