您当前位置:网站建设 > 新闻资讯 > UTF-8编码ASP页面 输出 GB2312 (GBK)编码的变量
UTF-8编码ASP页面 输出 GB2312 (GBK)编码的变量
Time:2014-9-10 上午 10:56:14

我自己的页面用的是UTF-8编码。但是问题是在这个页面下,其中有一段变量要用到md5加密后传出,对方用的是gb2312的编码,此md5处理带有中文的变量,则加密结果和对方用此变量的加密结果不同。其原因在于变量传出去时是UTF-8的内码,对方收到后用gb2312解释。因此要解决这个问题,一定要在加密前把变量转为gb2312的编码。

网上找了N多的方法,包括用各种utf2gb的函数。。均为无效或差强人意,有的虽然编码加密成功了,但传到对方显示出来是组乱码。

正当山穷水尽之际,突然发现可以在同一个页面中进行代码编码方式的切换。这样可以保证整个网站页面编码不变的情况下,对页面中的某一个变量或部分代码段使用不同的的编码方式:

如下页面:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> 
<% 
  Response.CodePage=65001  
  Response.Charset="UTF-8"   
%> 
<!--#include file="md5.asp"--> 
<% 
DIM A : A="中文" 
Dim B  
Response.write(A&"<br>") 
B=md5(A) 
Response.write(B&"<br>") 
  
' 开始改变编码方式 
response.codepage=936 
response.charset="GBK"    
Response.write(A&"<br>")  
B=md5(A)   
Response.write(B&"<br>") 
  
  
'恢复编码方式  
response.codepage=65001 
response.charset="utf-8" 
Response.write(A&"<br>") 
B=md5(A) 
Response.write(B&"<br>") 
%> 


运行结果如下: 其中的乱码其实是gb2312的编码在utf-8页面下显示的内容,如果接收方是gb2312,则可以正确显示。
中文
249ba6277758050695e8f5909bacd6d3
????
f3b679619b195beba139fcbb4b486630
中文
249ba6277758050695e8f5909bacd6d3

 

另外:jquery一般只是在"utf-8"下正常。

我们的优势
①产品优势
原生态手工制作,不堆积代码,打开速度更快,网站更稳定。
②经验优势
我们成立于2005年,前前后后做了将近千个网站。
③实力优势
代理产品类型多,选择空间大,有美橙互联、西部数码、阳光互联的相关产品出售,另有上海服务器及香港服务器若干台。
正规公司,可以开正规发票(须事先说明)。
④价格优势
我们的理念是薄利多销,因此在价格上有一定的优势。
最新资讯
友情链接: 
联系人:经理  手机:18566549854  微信:18566549854  在线QQ:2891365071
Copyright © 郑州颜玉信息科技有限公司