gb2312 utf-8乱码与URL中文解码

<%
function urldecode(strin)
urldecode = “”
dim sl: sl = 1
dim tl: tl = 1
dim key: key = “%”
dim kl: kl = len(key)
sl = instr(sl, strin, key, 1)
do while sl>0
if (tl=1 and sl<>1) or tl<sl then
urldecode = urldecode & mid(strin, tl, sl-tl)
end if
dim hh, hi, hl
dim a
select case ucase(mid(strin, sl+kl, 1))
case “u”:’unicode urlencode
a = mid(strin, sl+kl+1, 4)
urldecode = urldecode & chrw(“&h” & a)
sl = sl + 6
case “e”:’utf-8 urlencode
hh = mid(strin, sl+kl, 2)
a = int(“&h” & hh)’ascii码
if abs(a)<128 then
sl = sl + 3
urldecode = urldecode & chr(a)
else
hi = mid(strin, sl+3+kl, 2)
hl = mid(strin, sl+6+kl, 2)
a = (“&h” & hh and &h0f) * 2 ^12 or (“&h” & hi and &h3f) * 2 ^ 6 or (“&h” & hl and &h3f)
if a<0 then a = a + 65536
urldecode = urldecode & chrw(a)
sl = sl + 9
end if
case else:’asc urlencode
hh = mid(strin, sl+kl, 2)’高位
a = int(“&h” & hh)’ascii码
if abs(a)<128 then
sl = sl + 3
else
hi = mid(strin, sl+3+kl, 2)’低位
a = int(“&h” & hh & hi)’非ascii码
sl = sl + 6
end if
urldecode = urldecode & chr(a)
end select
tl = sl
sl = instr(sl, strin, key, 1)
loop
urldecode = urldecode & mid(strin, tl)
end function
%>

下面看一款关于站点下gb2312和utf-8页面传递参数乱码的终极解决方法

ansi

<%@language="vbscript" codepage="936"%>
<%session.codepage=936%>
<!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>
<meta http-equiv="content-type" content="text/html; charset=gb2312" />
<title>page(gb2312)-111cn.net</title>
</head>

<body>
<script type="text/网页特效">
document.write("<a href='t2.asp教程?keyword=" + escape("木子屋") + "'>木子屋</a>");
</script>
<br/>
<%
response.write(request.querystring("keyword"))
%>
</body>
</html>

uft-8

 

<%@language="vbscript" codepage="65001"%>
<%session.codepage=65001%>
<!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>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>page(utf-8)-111cn.net</title>
</head>

<body>
<script type="text/javascript">
document.write("<a href='t1.asp?keyword=" + escape("木子屋") + "'>木子屋</a>");
</script>
<br/>
<%
response.write(request.querystring("keyword"))
%>
</body>
</html>

时间: 2024-10-01 08:41:13

gb2312 utf-8乱码与URL中文解码的相关文章

IOS URL中文乱码问题解决方案_IOS

IOS 解决URL中文乱码问题解决 在做一个HTTPS连接时, 要客户端合成一段HTTPS地址 如果地址含中文的话程序会crash, 检查发现原来是中文没有转码的原因 在NSString库里面找到了下面两个方法 - (NSString *)stringByAddingPercentEscapesUsingEncoding:(NSStringEncoding)encoding - (NSString *)stringByReplacingPercentEscapesUsingEncoding:(N

tomcat-Tomcat服务器中url中文传值乱码,急,求解决。。。

问题描述 Tomcat服务器中url中文传值乱码,急,求解决... 上海 在servlet中获取城市,设置了编码为UTF-8,然后跳转带页面, <% String city=(String)session.getAttribute("city"); %> <%=city %>切换城市 不管选择哪个城市,最终显示在网页都是??,求各位大神给出个解决办法.. 解决方案 URL中文乱码服务器端(tomcat)解决方法 解决方案二: java URLEncoder和UR

MySQL字符集 GBK、GB2312、UTF8区别 解决MYSQL中文乱码问题_Mysql

MySQL中涉及的几个字符集 character-set-server/default-character-set:服务器字符集,默认情况下所采用的. character-set-database:数据库字符集. character-set-table:数据库表字符集. 优先级依次增加.所以一般情况下只需要设置character-set-server,而在创建数据库和表时不特别指定字符集,这样统一采用character-set-server字符集. character-set-client:客户

java中文乱码之解决URL中文乱码问题的方法_java

我们主要通过两种形式提交向服务器发送请求:URL.表单.而表单形式一般都不会出现乱码问题,乱码问题主要是在URL上面.通过前面几篇博客的介绍我们知道URL向服务器发送请求编码过程实在是实在太混乱了.不同的操作系统.不同的浏览器.不同的网页字符集,将导致完全不同的编码结果.如果程序员要把每一种结果都考虑进去,是不是太恐怖了?有没有办法,能够保证客户端只用一种编码方法向服务器发出请求? 有!这里我主要提供以下几种方法 一.javascript使用javascript编码不给浏览器插手的机会,编码之后

Linux安装GBK/GB2312程序显示乱码的五种解决方法

  不少用户在Linux系统中安装GBK或GB2312的时候遇到了乱码问题,这主要是系统默认语言是uft8所导致,对于该问题可用五种方法进行解决,下面小编就给大家介绍下Linux安装GBK或GB2312程序显示乱码的解决方法. 解决方法: 找到etc/httpd/conf/ 目录中的httpd.conf 1.解决方法一 查找"AddDefaultCharset UTF-8",将"UTF-8"改为"GB2312" 2.解决方案二 查找"A

url地址解码、保留小数点后面两位数字

url地址解码类 package com.xd.intersys.actions; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.net.URLEncoder; public class URLTransform {     public static void main(String[] args) {         String strTest = "q=%28%2B

PLSQL显示乱码-无法进行中文条件查询解决

PLSQL显示乱码-无法进行中文条件查询解决   原因:   PLSQL乱码问题皆是ORACLE服务端字符集编码与PLSQL端字符集编码不一致引起.类似乱码问题都可以从编码是否一致上面去考虑.   解决:   1. 查询Oracle服务端字符集编码,获取NLS_CHARACTERSET字段值: 2. 查询Oracle服务端语言信息 执行 select * from V$NLS_PARAMETERS 然后查看NLS_CHARACTERSET对应的值:我的是AMERICAN_AMERICA.AL32

linux下的expat处理xml出现乱码(非中文乱码问题)。怎么回事??【险】【险】【险】

问题描述 linux下的expat处理xml出现乱码(非中文乱码问题).怎么回事??[险][险][险] 源代码如下: xml文件内容如下: 运行输出如下: 为什么会有乱码?明明只是ascii字符. 求求各位帮一下菜鸟. 解决方案 查询各种编码格式是否一样 解决方案二: 看一下你的xml文件本身的编码格式是不是是其他编码格式. 解决方案三: xml 中文乱码问题

url 中文路径-URL 中文路径怎么解决

问题描述 URL 中文路径怎么解决 解决方案 用BASE64编码encode 解决方案二: 用加密字符串的方式处理.