Probably the most important part of creating a unicode application is to keep track of the encoding of your strings and make sure that your public interfaces are well specified and easy to use with the encodings you want to use.
Switching to a wider character (in C ++ wchar_t ) is not necessarily the right solution. In fact, I would say that this is usually not the easiest solution. Some applications may leave, indicating that all lines and interfaces use UTF-8 and do not need to be changed at all. std::string can very well be used for UTF-8 encoded strings.
However, if you need to interpret characters in a string or interface with interfaces other than UTF-8, you will have to work harder, but without knowing more about your application, it is impossible to recommend one better approach.
Charles Bailey
source share