I have a unicode string myStrig = "üöéñ and so on"
OF can print it nicely to the screen. But when I try to create an array of each separate letter by using string letter = currentString.substr(i,1);
then some letters do not get stored in the array.
I hate these type of issues, it can be a number of things. How are you rendering those letters? And how do you know they are not stored in the array? It could be that the debugger shows something (with a certain encoding) but the actual bytes are different.
I think the problem is std::string has no sense of the encoding so substr will fail if the characters are multiple bytes (utf-8). the above links contain some hand written functions that might work and links to other libraries that are more advanced.