utf-8编码技巧 url编码问题
在用utf-8编码的页面中,通过ASP内置对象Server.URLEncode()编码后的URL不能正确的找到文件,解决方法是用JavaScript的escape()函数进行编码
编码比较程序
Asp版
代码如下:
<%@LANGUAGE="JAVASCRIPT" CODEPAGE="65001"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
</head>
<body>
<%
Response.Write("server对象输出<br />");
Response.Write(Server.URLEncode("ether.エーテル.gif"));
Response.Write("<br />");
Response.Write("JavaScript函数encodeurl输出<br />");
Response.Write(encodeURI("ether.エーテル.gif"));
Response.Write("<br />");
Response.Write("JavaScript函数escape输出<br />");
Response.Write(escape("ether.エーテル.gif"));
%>
</body>
</html>
JavaScript版
document.write(encodeURI("ether.エーテル.gif"));
document.write("
");
document.write(escape("ether.エーテル.gif"));
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
escape() 方法:
采用ISO Latin字符集对指定的字符串进行编码。所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)。比如,空格符对应的编码是%20。
不会被此方法编码的字符: @ * / +
encodeURI() 方法:
把URI字符串采用UTF-8编码格式转化成escape格式的字符串。
不会被此方法编码的字符:! @ # $& * ( ) = : / ; ? + '
encodeURIComponent() 方法:
把URI字符串采用UTF-8编码格式转化成escape格式的字符串。与encodeURI()相比,这个方法将对更多的字符进行编码,比如 / 等字符。所以如果字符串里面包含了URI的几个部分的话,不能用这个方法来进行编码,否则 / 字符被编码之后URL将显示错误。
不会被此方法编码的字符:! * ( ) '
因此,对于中文字符串来说,如果不希望把字符串编码格式转化成UTF-8格式的(比如原页面和目标页面的charset是一致的时候),只需要使用escape。如果你的页面是GB2312或者其他的编码,而接受参数的页面是UTF-8编码的,就要采用encodeURI或者encodeURIComponent。
另外,encodeURI/encodeURIComponent是在javascript1.5之后引进的,escape则在javascript1.0版本就有。
相关推荐
-
php中utf-8编码下用正则表达式如何匹配汉字
在javascript中,要判断字符串是中文是很简单的.比如: 复制代码 代码如下: var str = "php编程"; if (/^[\u4e00-\u9fa5]+$/.test(str)) { alert("该字符串全部是中文"); } else { alert("该字符串不全部是中文"); } 想当然的,在php中来判断字符串是否为中文,就会沿袭这个思路: 复制代码 代码如下: <?php $str = "php编程&qu
-
utf-8编码引起js输出中文乱码的解决办法
编码规则是utf-8,如网页头中的: <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 那么js文件中如果有中文输出就会出现乱码,解决此个问题有两个方法: 1.在引用javascript输出的地方加上charset="gb2312" 或 charset="big5"(假设输出的是Big5繁体字). 例: <script
-
ASP生成UTF-8编码的代码
方法一:createtextfile生成文件方法 function WriteToFile(FileName,FileContent) set fso=server.createobject("scripting.filesystemobject") set fp=fso.createtextfile(server.mappath(FileName),,True) fp.write(FileContent) end function 方法二:ADODB.Stre
-
修改mysql5.5默认编码(图文步骤修改为utf-8编码)
mysql数据库的默认编码并不是utf-8. 安装mysql后,启动服务并登陆,使用show variables命令可查看mysql数据库的默认编码: 由上图可见database和server的字符集使用了latin1编码方式,不支持中文,即存储中文时会出现乱码.以下是命令行修改为utf-8编码的过程,以支持中文. (1)关闭mysql服务 复制代码 代码如下: service mysql stop (2)修改 /etc/mysql/my.cnf (默认的安装路径) 复制代码 代码如下: vi
-
utf-8编码转换成gb2312
[code]<script> function chinesefromutf8url(strutf8) { var bstr = ""; var noffset = 0; // processing point on strutf8 if( strutf8 == "" ) re
-
UTF-8编码问题BOM详细介绍
今天在写php代码的时候,出现一个特郁闷的问题那就是两个一模一样的文件,在IE下显示有一个文件却出显了一个空白行,如地址所示http://www.kuomart.com/blog/my_ex/bom_utf8.htm以上出现空白行的页面是用php的require('t.htm')导入模板输出的,而我的php文件和htm文件都是用的记事本写的,然后保存为utf-8编码的,这样之后就出现了用nodepad保存utf8文件自动添加bom到文件的开始,起先自己测试用nodepad,dw,edplus打开
-
UTF-8编码第1/2页
参考文档:http://www.linuxforum.net/books/UTF-8-Unicode.html 代码如下: =========================================== 复制代码 代码如下: <script language="VBScript"> 'http://www.linuxforum.net/books/UTF-8-Unicode.html Public Function UTF8EncodeChar(z) Dim c :
-
解决IE不能主动识别UTF-8编码的问题的方法
之前在动态页面静态化的过程中,IE打开页面后不显示内容,但html代码数据已经下载下来了,将其"字符编码"手动改"utf-8"才可以显示,到google搜索一下,找到解决方法了,为了方便自己也方便别人就把解决方法贴出来! google上搜索的解决方法 -------------------------------------------------------------------------------- 在windows操作系统上使用IE作为浏览器时.常常会发
-
utf-8编码技巧 url编码问题
在用utf-8编码的页面中,通过ASP内置对象Server.URLEncode()编码后的URL不能正确的找到文件,解决方法是用JavaScript的escape()函数进行编码 编码比较程序 Asp版 复制代码 代码如下: <%@LANGUAGE="JAVASCRIPT" CODEPAGE="65001"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN&
-
.Net结合JS实现URL编码与解码
目录 解决问题 1.为什么需要编码? 1.1 浏览器对于中文的编码 1.2 需要编码的原因还有几点 2.怎样编码? 3.实际出现的问题解决方法 3.1.escape函数: 3.2.encodeURI函数 3.3.encodeURIComponent函数 在项目中碰到了ajax传来的参数,后台接收值乱码(如下图)的问题 在此记录一下 前台: 后台: 解决问题 为什么需要编码 怎样编码 实际出现的问题解决方法 1.为什么需要编码? URL 只能使用 ASCII 字符集来通过因特网进行发送.也就是说U
-
python中文字符如何转url编码
目录 如何将中文字符转url编码 python url编码和url解码方法 函数介绍 编码 解码 总结 如何将中文字符转url编码 import urllib.parse name = urllib.parse.quote('中文') python url编码和url解码方法 记录一下用python对文字的url编码和url解码方法,不对基础url编码分析 urllib库是一个python的自带库,使用的时候不需要下载,可以直接导入使用 函数介绍 函数 介绍 urllib.parse.quote
-
C++类URL编码和解码使用技巧
在项目开发过程中,经常会使用到c++ 的url编码和解码,本文将以此问题详细介绍使用技巧,需要的朋友可以参考下 复制代码 代码如下: #pragma once #include <iostream> #include <string> #include <windows.h> using namespace std; class strCoding { public: strCoding(void); ~strCoding(void); void UTF_8ToGB23
-
python实现中文转换url编码的方法
本文实例讲述了python实现中文转换url编码的方法.分享给大家供大家参考,具体如下: 今天要处理百度贴吧的东西.想要做一个关键词的list,每次需要时,直接添加 到list里面就可以了.但是添加到list里面是中文的情况(比如'丽江'),url的地址编码却是'%E4%B8%BD%E6%B1%9F',因此需 要做一个转换.这里我们就用到了模块urllib. >>> import urllib >>> data = '丽江' >>> print dat
-
url 编码 js url传参中文乱码解决方案
1.配置文件web.config中 在节中加上整个网站的编码方式. <globalization fileEncoding="GB2312" requestEncoding="GB2312" responseEncoding="GB2312"/> 这样参数就以gb2312的中文编码方式传输了.而一般默认是utf-8. 2.在传参是先编码在传输,接受时先编码,在接收. string mm=Server.URLEncode(你); Res
-
JS前端知识点 运算符优先级,URL编码与解码,String,Math,arguments操作整理总结
本文实例讲述了JS前端知识点 运算符优先级,URL编码与解码,String,Math,arguments操作.分享给大家供大家参考,具体如下: Js 中的运算符优先级 优先级依次降低 () !.-.++.– *./.% +.- <.<=.<.>= ==.!=.===.!==. && || ?: =.+=.-=.*=./=.%= URL 编码和解码 encodeURIComponent() decodeURIComponent() encodeURI() decode
-
asp.net URL编码与解码
例如Url参数字符串中使用key=value键值对这样的形式来传参,键值对之间以&符号分隔,如/s?q=abc&ie=utf-8.如果你的value字符串中包含了=或者&,那么势必会造成接收Url的服务器解析错误,因此必须将引起歧义的&和=符号进行转义,也就是对其进行编码. 又如,Url的编码格式采用的是ASCII码,而不是Unicode,这也就是说你不能在Url中包含任何非ASCII字符,例如中文.否则如果客户端浏览器和服务端浏览器支持的字符集不同的情况下,中文可能会造成
-
javascript URL编码和解码使用说明
在有些传递页面使用GB2312,而在接收页面使用 UTF8,这样接收到的参数就可能会与原来发生不一致.使用服务器端的urlEncode函数编码的URL,与使用客户端javascript的 encodeURI函数编码的URL,结果就不一样. javaScript中的编码方法: escape() 方法: 采用ISO Latin字符集对指定的字符串进行编码.所有的空格符.标点符号.特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码 (xx等于该字符在字符集表里面的编码的16进制数字).比
-
php的urlencode()URL编码函数浅析
URLEncode的方式一般有两种,一种是传统的基于GB2312的Encode(Baidu.Yisou等使用),另一种是基于UTF-8的Encode(Google.Yahoo等使用). 本工具分别实现两种方式的Encode与Decode: 中文 -> GB2312的Encode -> %D6%D0%CE%C4 中文 -> UTF-8的Encode -> %E4%B8%AD%E6%96%87 Html中的URLEncode: 编码为GB2312的html文件中:http://s.jb
随机推荐
- Go语言的方法接受者类型用值类型还是指针类型?
- Ruby中操作字符串的一些基本方法
- 浅谈redis的maxmemory设置以及淘汰策略
- 使用准则进行条件查询--1.5.常用的准则表达式
- IIS 关闭HTTPERR(IIS日志)的方法
- 一键删除windows默认共享和禁止空连接的bat代码
- iOS开发中Quartz2D的基本使用方式举例
- IOS 照片编辑的view封装的实例详解
- IOS 头文件导入-@class注意事项总结
- asp.net Forms身份验证和基于角色的权限访问
- jQuery实现下拉加载功能实例代码
- PHP-CGI进程CPU 100% 与 file_get_contents 函数的关系分析
- JS实现的5级联动Select下拉选择框实例
- Python lambda和Python def区别分析
- Shell脚本批量清除Nginx缓存
- XMLHTTP批量抓取远程资料
- CentOS7 mini的安装和静态ip设置教程
- jQuery mobile 移动web(4)
- FileShare枚举的使用小结(文件读写锁)
- 小心:CSS代码书写顺序不同,导致显示效果不一样