File::OpenText returns a StreamReader that uses UTF-8 encoding. Therefore, you need to scan the list of StreamReader constructors to find one that will let you specify an encoding.
One that looks promising:
Code:
[C++] public: StreamReader(String*, Encoding*);
Initializes a new instance of the StreamReader class for the specified stream, with the specified character encoding
So next we have to figure out how to get an appropriate Encoding object. Scanning the list of members for the Encoding class gives:
Code:
public: static Encoding* GetEncoding(int);
which returns an encoding object for a specified code page.
So putting it all together for encoding of simplified chinese we get:
Code:
// 54936 is the code page for simplified Chinese.
StreamReader * srChinese = new StreamReader("C:\\...\\xyz.txt", System::Text::Encoding::GetEncoding(54936));
Alternatively, we can use code page 0 which uses the default code page for the current computer.
Code:
StreamReader * srChinese = new StreamReader("C:\\...\\xyz.txt", System::Text::Encoding::GetEncoding(0));
There seems to be several Chinese code pages. I don't know which one you use but you can find a list here:
http://66.102.7.104/search?q=cache:X...se+54936&hl=en