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版本就有。
相关推荐
-
解决IE不能主动识别UTF-8编码的问题的方法
之前在动态页面静态化的过程中,IE打开页面后不显示内容,但html代码数据已经下载下来了,将其"字符编码"手动改"utf-8"才可以显示,到google搜索一下,找到解决方法了,为了方便自己也方便别人就把解决方法贴出来! google上搜索的解决方法 -------------------------------------------------------------------------------- 在windows操作系统上使用IE作为浏览器时.常常会发
-
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
-
修改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编码第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 :
-
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打开
-
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
-
utf-8编码转换成gb2312
[code]<script> function chinesefromutf8url(strutf8) { var bstr = ""; var noffset = 0; // processing point on strutf8 if( strutf8 == "" ) re
-
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
随机推荐
- 新手进阶 透彻认识64位操作系统
- asp.net 不用组件的URL重写(适用于较大型项目)
- PHP 最大运行时间 max_execution_time修改方法
- 什么是phpDocumentor第1/2页
- php 判断字符串中是否包含html标签
- Android点击EditText文本框之外任何地方隐藏键盘的解决办法
- Express + Node.js实现登录拦截器的实例代码
- python实现忽略大小写对字符串列表排序的方法
- jquery文字填写自动高度的实现方法
- JS使用oumousemove和oumouseout动态改变图片显示的方法
- 详解 Linux中的关机和重启命令
- CSS规则层叠时的优先级算法
- unity5.6 导出gradle工程 Android Studio 导入问题及处理方法
- Java实现的二叉树常用操作【前序建树,前中后递归非递归遍历及层序遍历】
- python互斥锁、加锁、同步机制、异步通信知识总结
- Oracle Index索引无效的原因与解决方法
- pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法
- vue项目中使用AES实现密码加密解密(ECB和CBC两种模式)
- Linux中top命令输出详解
- Java使用Condition控制线程通信的方法实例详解