前台TEST.aspx <%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="test" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" ><head runat="server"> <title>无标题页</title></head><body> <form id="form1" runat="server"> <div> 测试页面 <asp:Button id="btnBig" onclick="btnBig_Click" runat="server" Text="big5"></asp:Button><asp:Button id="btnChn" onclick="btnChn_Click" runat="server" Text="简"></asp:Button> </div> </form></body></html> 后台代码 protected void Page_Load(object sender, EventArgs e) ...{ DoLanguageChange(); } private void DoLanguageChange() ...{ if (Session["big5"] != null && Session["big5"].ToString() == "2" && this.Request.Params["btnChn"]==null) ...{ Response.Filter = new DreamZone.Core.CG2BFilter(Response.Filter); //this.Response.ContentEncoding = Encoding.GetEncoding("Big5"); } else ...{ Response.Filter = new SimpleStream(this.Response.Filter); } } protected void btnBig_Click(object sender, EventArgs e) ...{ Session["big5"] = 2; DoLanguageChange(); } protected void btnChn_Click(object sender, EventArgs e) ...{ Session["big5"] = 1; DoLanguageChange(); } 用到两个类(参考了网上好多人的东东) SimpleStream 类(用于简体) using System;using System.Data;using System;using System.Text;using System.Text.RegularExpressions;using System.IO;using System.Web; /**//// <summary> /// CG2BFilter 的摘要说明。 /// </summary> public class SimpleStream : Stream...{ Stream responseStream; long position; StringBuilder responseHtml; public SimpleStream(Stream inputStream) ...{ responseStream = inputStream; responseHtml = new StringBuilder(); } Filter overrides#region Filter overrides public override bool CanRead ...{ get ...{ return true; } } public override bool CanSeek ...{ get ...{ return true; } } public override bool CanWrite ...{ get ...{ return true; } } public override void Close() ...{ responseStream.Close(); } public override void Flush() ...{ responseStream.Flush(); } public override long Length ...{ get ...{ return 0; } } public override long Position ...{ get ...{ return position; } set ...{ position = value; } } public override long Seek(long offset, SeekOrigin origin) ...{ return responseStream.Seek(offset, origin); } public override void SetLength(long length) ...{ responseStream.SetLength(length); } public override int Read(byte[] buffer, int offset, int count) ...{ return responseStream.Read(buffer, offset, count); } #endregion 转换任务#region 转换任务 public override void Write(byte[] buffer, int offset, int count) ...{ string strBuffer = System.Text.UTF8Encoding.UTF8.GetString(buffer, offset, count); // string finalHtml = Simplified2Traditional(strBuffer); byte[] data = System.Text.UTF8Encoding.UTF8.GetBytes(strBuffer); responseStream.Write(data, 0, data.Length); //string strBuffer = System.Text.Encoding.GetEncoding(936).GetString(buffer, offset, count); //string finalHtml = Simplified2Traditional(strBuffer); //byte[] data = System.Text.UTF8Encoding.GetEncoding("Big5").GetBytes(finalHtml); //responseStream.Write(data, 0, data.Length); } #endregion 自定义函数#region 自定义函数 public string Traditional2Simplified(string str) ...{ //繁体转简体 return (Microsoft.VisualBasic.Strings.StrConv(str, Microsoft.VisualBasic.VbStrConv.SimplifiedChinese, 0)); } public string Simplified2Traditional(string str) ...{ //简体转繁体 return (Microsoft.VisualBasic.Strings.StrConv(str as String, Microsoft.VisualBasic.VbStrConv.TraditionalChinese, 0)); } #endregion} 繁体过滤类 using System;using System.Data;using System;using System.Text;using System.Text.RegularExpressions;using System.IO;using System.Web;namespace DreamZone.Core...{ /**//// <summary> /// CG2BFilter 的摘要说明。 /// </summary> public class CG2BFilter : Stream ...{ Stream responseStream; long position; StringBuilder responseHtml; public CG2BFilter(Stream inputStream) ...{ responseStream = inputStream; responseHtml = new StringBuilder(); } Filter overrides#region Filter overrides public override bool CanRead ...{ get ...{ return true; } } public override bool CanSeek ...{ get ...{ return true; } } public override bool CanWrite ...{ get ...{ return true; } } public override void Close() ...{ responseStream.Close(); } public override void Flush() ...{ responseStream.Flush(); } public override long Length ...{ get ...{ return 0; } } public override long Position ...{ get ...{ return position; } set ...{ position = value; } } public override long Seek(long offset, SeekOrigin origin) ...{ return responseStream.Seek(offset, origin); } public override void SetLength(long length) ...{ responseStream.SetLength(length); } public override int Read(byte[] buffer, int offset, int count) ...{ return responseStream.Read(buffer, offset, count); } #endregion 转换任务#region 转换任务 public override void Write(byte[] buffer, int offset, int count) ...{ string strBuffer = System.Text.UTF8Encoding.UTF8.GetString(buffer, offset, count); string finalHtml = Simplified2Traditional(strBuffer); byte[] data = System.Text.UTF8Encoding.UTF8.GetBytes(finalHtml); responseStream.Write(data, 0, data.Length); //string strBuffer = System.Text.Encoding.GetEncoding(936).GetString(buffer, offset, count); //string finalHtml = Simplified2Traditional(strBuffer); //byte[] data = System.Text.UTF8Encoding.GetEncoding("Big5").GetBytes(finalHtml); //responseStream.Write(data, 0, data.Length); } #endregion 自定义函数#region 自定义函数 public string Traditional2Simplified(string str) ...{ //繁体转简体 return (Microsoft.VisualBasic.Strings.StrConv(str, Microsoft.VisualBasic.VbStrConv.SimplifiedChinese, 0)); } public string Simplified2Traditional(string str) ...{ //简体转繁体 return (Microsoft.VisualBasic.Strings.StrConv(str as String, Microsoft.VisualBasic.VbStrConv.TraditionalChinese, 0)); } #endregion }}