我爱Aspx >> Asp.Net >> 利用filter实时切换big5和gb2312,以及gb2312的简繁体以前解决gb2312/big5实时转换的做法一般是修改Response.ContentEncoding
string switchLanguage(String strLanguage){
if(strLanguage.StartsWith("zh-cn")){
Response.ContentEncoding=Encoding.GetEncoding(936);
return "gb2312";
}
if(strLanguage.StartsWith("zh")){
Response.ContentEncoding=Encoding.GetEncoding(950);
return "big5";
}
Response.ContentEncoding=Encoding.GetEncoding(1252);
return "iso-8859-1";
}
范例:
switchLanguage(Request.UserLanguages[0]);
但有些GB2312简体字没有对应的Big5,所以需要先转换成繁体的Gb2312,再进行转换
如:“秋水无恨”的无,“中国”的国,就会显示“秋水?恨”和“中?”
等需要先转化为“秋水無恨”和“中國”,再转化为Big5。
而filter正好帮助我们实现实时切换,主要源代码如下(_sGB和_tGB是GB2312简繁体对应的库)。
public override void Write(byte[] buffer, int offset, int count)
{
Encoding e=Encoding.GetEncoding(936);
string str=e.GetString(buffer,offset,count);
Ҷƪл˵?
Js中实现拼音和UrlEncode的功能(..[05-20]
汉字转化为拼音(asp版)[05-20]
利用Wipe等ActiveX技术,实现n(n..[05-20]
通过Adodb.Stream取得图像(BMP J..[05-20]
让自定义文件下载支持断点续传(..[05-20]
根据需要动态include不同的文件[05-20]
利用xml数据岛实现多级关联下拉选..[05-20]
自制Pop3邮件接收系统(二):利..[05-20]
自制Pop3邮件接收系统(一):利..[05-20]
纠正:HashPasswordForStoringIn..[05-20]