The problem is much bigger than it could appear.
The console is a text output device and it must be so because you can redirect its input and output to other programs (pipes).
So whichever language you would use its I/O is always text not wide text. In chinese the characters can be represented by mutibyte strings, *note* multibyte not unicode chars.
To guarantee that the whole OS utilities understood the correct encoding there are a lot of things, or should say hacks, like codepages, regional settings, fonts, etc.
For these reasons, and many others, is very difficult to print special characters in a cosolle. While it is relatively easy to print latin alphabet in all available codepages (because normally it is always present as the first 127 codes), is not that simple for the reverse.
If your machine has regional setting for simplifyied chinese something like:
SetFileApisToOEM();
SetConsoleOutputCP(65001); //Unicode codepage (but doesn't work if you don't have chines or whatever, configured OS)
WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), L"中文", 2, &n, NULL);
should work, but I can't test it.
Of course the source file must be UTF-8 encoded, or the unicode characters will be seen as 'trigraphs' by the compiler an the output will fail.
With former settings also wprintf should work (but as above I can't check on my machine).
I suppose that MingW, and maybe even MSVC, works because their runtime 'prepare' the consolle for output, PellesC is a little bit less smart, but consolle internalization is not a core interest of the compiler. If you need to allow multilingual support you will normally use a GUI interface, not the limited consolle.
Anyway if google around for 'print chinese on consolle', or the like, you will see that the problem is very very diffused.
Moreover, because it is a real pain in ... , also MS people keeps at a far distance from it