ASP 系统中输出 UTF-8 内容(XML)的方法

作者:vkvi 来源:千一网络(原创) 日期:2009-10-28

ASP 做的系统默认是 GB2312 的,有时候用来输出 XML 会遇到一个问题:就是大多数情况下要求 XML 为 UTF-8 格式的。

如果我们直接指定 <?xml version="1.0" encoding="utf-8"?> 是不够的。

正确的应该是:

<%
dim originalCoagePage
originalCoagePage = Session.CodePage ' 记住原来的 CodePage(默认为 936)
Session.CodePage = 65001 ' 设置新的 CodePage(UTF-8)
Response.CharSet = "UTF-8"
Response.ContentType = "text/xml"
%>
<?xml version="1.0" encoding="utf-8"?>
...
<%
Session.CodePage = originalCoagePage ' CodePage 复原
%>

网上有的把 Session.CodePage 写成 Response.CodePage,这是不对的;

另外网上有些没有复原 Session.CodePage,绝大多数情况下会导致问题,因为绝大多数情况下,我们在其他网页中没有指定 CodePage,一旦访问了指定 CodePage 的页面后,那些没有指定 CodePage 的页面也是按照该 CodePage 来指定的。

与 <%@ CodePage=936 %> 相比,Session.CodePage 与只会影响当前会话。

注意,一定要保证 Session.CodePage = originalCoagePage 这一句能够执行到,不要中途代码错误导致程序终止而没有执行到。

相关阅读

你前面那位网友看了:ASP.NET 与 XML-XmlReader 与 XmlTextReader 关系及实例创建(重要)

▲▲▲嘿,欢迎转载传播本站原创文章,尽量保留来源噢。▲▲▲

文章评论
赞助商们
vkvi
vkvi

作者简介: vkvi,致力于 .NET Web 开发、移动开发的技术推广,在 .NET、SQL Server、Windows Server 等方面有深入研究和丰富经验,10 年间共计撰写文章 4000 余篇。 主持金融、国土、农业、电商等多个行业项目执行, 推行“技术提升生产力、人心决定成功率”的管理理论。 联系他