in C++, you can use a static object as singleton. also, the UTF-8 question is hard. unless you have worked on utf-8, it is hard to answer it correctly.