asp中response.write('中文')或者js中文乱码问题

所属分类: 网络编程 / ASP编程 阅读数: 760
收藏 0 赞 0 分享

我的所有网页编码是utf-8,当打开浏览器不对数据库插入数据时(main.asp),直接读取数据进行浏览(showAll.asp),一切正常;但是当在main.asp通过ajax把数据插入到access表时,再去浏览showAll.asp页面时,凡是Response.Write('中文')语句中的内容都是乱码,即使showAll.asp页面不包含从数据库来的数据,也是一样全部是乱码。当把浏览后的网页源码用笔记本编辑时,发现他的编码变成了ANSI。

所以只需要在showAll.asp页面的前面加上

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%Session.CodePage=65001%>

<%Session.CodePage=65001%>即可解决问题。

如果您的网页是基于UTF-8编码的,请在代码第一行加入:

<%@LANGUAGE="VBSCRIPT"CODEPAGE="65001"%>

如果您的网页是基于GB2312编码的,请在代码第一行加入:

<%@LANGUAGE="VBSCRIPT"CODEPAGE="936"%>

注:我就是通过此方法解决了ASP乱码的.这里大家要注意点2点
1.<%@LANGUAGE="VBSCRIPT"CODEPAGE="65001"%> 这行代码一定要放到页面的第一行

这是重点:

2.<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>和<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>和<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

response.write 输出 utf-8的方法

为了适应xmlhttp控件的需要,这个控件只有在获得utf-8编码的网页内容的时候,responseText才能得到正确输出,试了各种方法,甚至在asp服务器上用adodb.steam来转码,后来看到一篇文章,只要在asp中加入以下代码即可,一试,果然成功!只是不清楚为什么。

Response.ContentType="text/html"
Response.AddHeader"Content-Type","text/html;charset=UTF-8"
Response.CodePage=65001
Response.CharSet="UTF-8"
Response.BinaryWrite(chrb(239))
Response.BinaryWrite(chrb(187))
Response.BinaryWrite(chrb(191))

接下来用 response.write 直接输出内容即可,客户端将得到以utf-8编码的内容

response.write 输出乱码的解决方法

在很多时候,我们都会不太注意一些细节的问题,

例如在asp的开发过程中,最让人头痛的就是网页的解码问题

我现在开发的都是一些繁体中文的网站,而且公司规定要用utf-8这个国际解码,

于是解码问题就会整体缠着你不放了··

我们不要看小<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>

这句代码,因为这句代码是很有用的,特别是在解码方面,比如很多人在使用response.write这个方法输出中文字符串的时候会出现乱码,并且不管你怎样添加response.charset="utf-8" 、session.codepage=65001都无补于事,于是我们就需要<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>

当然response.charset="utf-8" 、session.codepage=65001这两句也不能少;

但是虽然asp代码所需要的条件都齐全了,但是我们不要忘了网页本身需要的条件;

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

这个HTML网页所需要的解码设定的条件;当然,这是asp代码和html代码混合的文件所需要的;

如果是纯asp代码的asp文件可以不要;

再一个就是文件本身还得必须是utf-8的解码;

如果这个大家不知道在哪里看的话;大家可以用记事本打开的asp文件;另存为,如果编码是ANSI的话,将其改为utf-8即可,

这些条件都满足了之后,我想就应该不会出现乱码了;

更多精彩内容其他人还在看

asp(vbs)fso OpenTextFile方法参数说明

OpenTextFile是asp语言中的一个方法,打开指定的文件并返回一个 TextStream 对象,可以通过这个对象对文件进行读、写或追加
收藏 0 赞 0 分享

IIS7.5调用asp页面出现800a0e7a的解决办法

本文给大家分享的是在windows2008R2 64位系统中出现了ADODB.Connection 错误 '800a0e7a'的解决办法,方法很简单,可是处理过程却很曲折,这里推荐给大家,有需要的小伙伴可以参考下。
收藏 0 赞 0 分享

ImageMagickObject获取图片的信息无返回值的解决办法

这篇文章主要介绍了ImageMagickObject获取图片的信息无返回值的解决办法,非常简单,加上format参数即可,需要的朋友可以参考下
收藏 0 赞 0 分享

ASP实现强制图片下载函数

最近做的一个asp项目需要强制下载图片,我在网上找了很多关于下载远程图片的ASP代码,但测试结果都不行。没办法只好自己操刀了,有什么纰漏的地方还请大家指出。
收藏 0 赞 0 分享

asp实现禁止搜索引擎蜘蛛访问的代码

这篇文章主要介绍了asp实现禁止搜索引擎蜘蛛访问的代码,十分的简单实用,有需要的小伙伴可以参考下。
收藏 0 赞 0 分享

asp、html、js 禁止缓存的代码

本文给大家分享的是在asp、html、js中强制不缓存的方法,十分的简单实用,有需要的小伙伴可以参考下。
收藏 0 赞 0 分享

asp实现带刷新功能的验证码代码

本文给大家分享的是一段使用asp实现的验证码功能,而且是带刷新的,代码非常简洁,非常实用,有需要的小伙伴可以参考下。
收藏 0 赞 0 分享

asp获得浏览器agent信息代码

最近做的一个项目中需要使用asp来获取浏览器的agent信息,好久都不玩ASP了,先度娘一下吧,把结果总结一下分享给大家。
收藏 0 赞 0 分享

ASP中只有UrlEncode,没有Urldecode问题的解决方法?

这篇文章主要介绍了ASP中只有UrlEncode,没有Urldecode问题的解决方法? ,需要的朋友可以参考下
收藏 0 赞 0 分享

对象不支持此属性或方法: Session.CodePage = 936 解决方法

这篇文章主要介绍了对象不支持此属性或方法: Session.CodePage = 936 解决方法,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多