If you want to perform server-based XSLT transformations on IIS using classic ASP, you should keep in mind the following facts:
- ASP uses 16-bit Unicode characters internally. MSXML ActiveX modules called from ASP therefore think they work in UTF-16 environment.
- Due to the impression that the XSLT transformations happen in UTF-16 environment, MSXML procedures might prepend UTF-16 specific headers in transformed text (more about that in follow-up posts).
- The transformed text returned to ASP from transformNode function is UTF-16 encoded.
- When the ASP script sends the text to the browser (or writes it into a text file), the codepage set with Response.Codepage is used to transform UTF-16 into target character set.