I am driving nuts with C# encoding, trying to store cyrillic characters in a string, and so far I haven't found a solution.
For example, if I execute the following code:
string test = "АЗУОЫЯЕЁЮИ";
The test variable will contain two question marks for each character instead the character itself.
It seems it is using ASCII for encoding, but I thought in C# all strings were UTF8 by default, but if it is using ASCII instead I didn't find a way to change it, so I don't know what to do.
I am using the Mono Develop that comes in the bundle within the Unity game engine, under OSX Yosemite. I DO save such files as UTF8 and I have double-checked it with iconv, just in case Mono Develop wasn't doing it right. They are UTF8 without doubt at all.
I have took a look on C# documentation about encoding, but I am afraid I haven't understood it very well, since I didn't find anything that could help me with this problem.
EDIT: I am adding this code, because it shows the problem is not just a matter of what you see, but something about internal encoding itself. (BTW, that "А" character is not an ASCII "A" but a Russian cyrillic "А"):
// Debug code
string one = "А";
string two = "А";
string three = "З";
string logMessageOne = (one == two) ? "One is equal to Two" : "One is different than Two";
string logMessageTwo = (one == three) ? "One is equal to Three" : "One is different than Three";
string logMessageThree = (one.CompareTo (three) == 0) ? "One is equal to Three" : "One is different than Three";
In all cases it says that all strings are equal.