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.
if you are using the nightly version you can use the new ofUTF8 functions. some of them are already present in 0.9.8 but not all of them and not sure if substring was.