The pragma is not what you want. It just ask the compiler to encode the string in utf-8 in the executable. But before encoding it in the executable the string has to exist in the source file. Displaying it on the screen is not a problem, because Windows natively uses 16 bits characters and it can easily displays Chinese characters.
But the source file encoding is normaly a simply 8bits characters encoding. In my French system, it uses by default the 1252 code page which is a slight variation of ISO-8859-1 character set. And it is not possible to encode Chinese characters in this encoding, so VisualStudio replaces the offending characters with question marks at the c++ file level.
So this only reliable way is to ask VisualStudio to use a different encoding when saving the file. Normaly, it should have asked you at first saving of the file, but you can force it to rewrite the file with a different encoding with
File / Save as. The Save button can then be toggled to Save with encoding...
.
You can now use the native UTF16 little-endian (1200) or utf-8 (65001) to successfully write the Chinese characters into your source file. And you will then get the correct utf8 encoding in your executable.
But in order to be able to display them at run-time, you will of course have to use a GUI application (natively unicode enabled) or install an acceptable code page in your Windows console for a console application...