IIS and its related technologies-such as ASP-are vital to developing a multilingual Web site and a Web-based application that is world-ready. Some of the international features associated with IIS include its code-page settings and request collections. Within IIS 6, new international features include URI processing and logging.
When the Web server receives a request for an ASP file, it processes server-side scripts contained in the file to build the Web page that is sent to the browser. If your script was not created for the Web server's or the browser's default code page, you need to specify the code page. This will allow strings to be correctly converted as they are passed between the script and the ASP engine, between the ASP engine and the browser, and between the ASP engine and COM components. To specify the code page for an ASP page, you can use the Response.CodePage property, the Session.CodePage property, the AspCodePage metabase property, the @CODEPAGE directive, LCID settings, and the HTTP Charset attribute.
As a caveat, you should be aware that the internal engine of IIS 4 and IIS 5 is based on Windows code pages, so any items that require processing by the engine will use ACP as a base. As a result, for a Web page to display values as UTF-8, those values will have to be converted from ACP to UTF-8, resulting in some character degradation.
There are numerous issues associated with establishing international Web sites and with making content applicable to an international audience, many of which have been discussed previously throughout this book. However, some general guidelines-which extend beyond the scope of IIS-include designing your application for a world-wide market from the beginning, using the correct character encoding, and taking advantage of NLS functions. In combination with the capabilities of IIS, these guidelines will serve you well as you create world-ready applications.