This is because XMLHttp decodes the responseBody according to UTF-8 encoding when processing the returned responseText. If the data stream sent by the server is indeed UTF-8 encoded, then the Chinese characters will be displayed correctly, but if it is GBK or other Encoding will cause the above situation.
The solution is to add a header to the data stream returned by the server to indicate the encoding of the sent data stream, so that XMLHttp will not mess up.