ASP中Utf-8与Gb2312编码转换乱码问题的解决方法 页面编码声明
作者:
ASP程序在同一个站点中,如果有UTF-8编码的程序,又有GB2312编码的程序时,在浏览UTF-8编码的页面后,再浏览当前网站GB2312的页面,GB2312编码的页面就会出现乱码
出现这样的问题是当你浏览UTF-8编码的时候,服务器默认用UTF-8的引擎来输出html,当你用再浏览GB2312的页面时,它还是用UTF-8来输出本应是GB2312编码的页面所以会乱码。
为了这个问题烦了我一个早上,终于的蓝色理想上得到解决。
首先让我们来了解一下Session对象提供了四个属性。
1.CodePage 读/写。整型。
定义用于在浏览器中显示页内容的代码页(Code Page)。代码页是字符集的数字值,不同的语言和场所可能使用不同的代码页。例如,ANSI代码页 1252用于美国英语和大多数欧洲语言。代码页932用于日文字。(这里我们要用到的就是这个属性)
2.LCID 读/写。整型。
定义发送给浏览器的页面地区标识(LCID)。LCID是唯一地标识地区的一个国际标准缩写,例如,2057定义当前地区的货币符号是'£'。LCID也可用于FormatCurrency等语句中,只要其中有一个可选的LCID参数。LCID也可在ASP处理指令<%…%>中设置,并优先于会话的LCID属性中的设置。本章后面提供一个ASP处理指令的列表
3.SessionID 只读。长整型。
返回这个会话的会话标识符,创建会话时,该标识符由服务器产生。只在父Application对象的生存期内是唯一的,因此当一个新的应用程序启动时可重新使用
4.Timeout 读/写。整型。
为这个会话定义以分钟为单位的超时周期。如果用户在超时周期内没有进行刷新或请求一个网页,该会话结束。在各网页中根据需要可以修改。缺省值是10min。在使用率高的站点上该时间应更短!
下面给常用的几个ANSI代码页
<%@ codepage=65001%>UTF-8
<%@ codepage=936%>简体中文
<%@ codepage=950%>繁体中文
<%@ codepage=437 %>美国/加拿大英语
<%@ codepage=932 %>日文
<%@ codepage=949 %>韩文
<%@ codepage=866 %>俄文
现在就说说要解决问题的方法和使用
在网站程序中使用的共用文件conn.asp 中加入以下代码:
1、Gb2312编码页面中加入
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%Session.CodePage=936%>
最后加多个
<%Response.charset = "BG2312"%>
2、utf-8编码页面中加入<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%Session.CodePage=65001%>
<%Response.charset = "utf-8"%>
这是最简单有效的方法。
为了这个问题烦了我一个早上,终于的蓝色理想上得到解决。
首先让我们来了解一下Session对象提供了四个属性。
1.CodePage 读/写。整型。
定义用于在浏览器中显示页内容的代码页(Code Page)。代码页是字符集的数字值,不同的语言和场所可能使用不同的代码页。例如,ANSI代码页 1252用于美国英语和大多数欧洲语言。代码页932用于日文字。(这里我们要用到的就是这个属性)
2.LCID 读/写。整型。
定义发送给浏览器的页面地区标识(LCID)。LCID是唯一地标识地区的一个国际标准缩写,例如,2057定义当前地区的货币符号是'£'。LCID也可用于FormatCurrency等语句中,只要其中有一个可选的LCID参数。LCID也可在ASP处理指令<%…%>中设置,并优先于会话的LCID属性中的设置。本章后面提供一个ASP处理指令的列表
3.SessionID 只读。长整型。
返回这个会话的会话标识符,创建会话时,该标识符由服务器产生。只在父Application对象的生存期内是唯一的,因此当一个新的应用程序启动时可重新使用
4.Timeout 读/写。整型。
为这个会话定义以分钟为单位的超时周期。如果用户在超时周期内没有进行刷新或请求一个网页,该会话结束。在各网页中根据需要可以修改。缺省值是10min。在使用率高的站点上该时间应更短!
下面给常用的几个ANSI代码页
<%@ codepage=65001%>UTF-8
<%@ codepage=936%>简体中文
<%@ codepage=950%>繁体中文
<%@ codepage=437 %>美国/加拿大英语
<%@ codepage=932 %>日文
<%@ codepage=949 %>韩文
<%@ codepage=866 %>俄文
现在就说说要解决问题的方法和使用
在网站程序中使用的共用文件conn.asp 中加入以下代码:
1、Gb2312编码页面中加入
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%Session.CodePage=936%>
最后加多个
<%Response.charset = "BG2312"%>
2、utf-8编码页面中加入<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%Session.CodePage=65001%>
<%Response.charset = "utf-8"%>
这是最简单有效的方法。
您可能感兴趣的文章:
- 将字符串转换成gb2312或者utf-8编码的参数(js版)
- php实现utf-8和GB2312编码相互转换函数代码
- UTF-8 GBK UTF8 GB2312 之间的区别和关系介绍
- PHP字符编码问题之GB2312 VS UTF-8解决方法
- VBS实现GB2312,UTF-8,Unicode,BIG5编码转换工具
- PHP 解决utf-8和gb2312编码转换问题
- unicode utf-8 gb18030 gb2312 gbk各种编码对比
- MSSQL转MYSQL,gb2312转utf-8无乱码解决方法
- PHP iconv 解决utf-8和gb2312编码转换问题
- ASP UTF-8页面乱码+GB2312转UTF-8 +生成UTF-8格式的文件(编码)
- 用VBS实现的批量gb2312转utf-8,支持拖动
- 用javascript实现gb2312转utf-8的脚本
- [转]ASP实现关键词获取(各搜索引擎,GB2312及UTF-8)
- UTF-8转GB2312函数
- utf-8编码转换成gb2312
- 将编码从GB2312转成UTF-8的方法汇总(从前台、程序、数据库)