- 浏览: 502668 次
- 性别:
- 来自: 沈阳
文章分类
- 全部博客 (437)
- Windows设置 (2)
- oracle数据库 (39)
- bug--jsp (4)
- j2se (13)
- js (40)
- bug-tomcat不能启动程序 (1)
- Hibernate (29)
- eclipse (20)
- java (65)
- 设计模式 (6)
- bug (18)
- PL/SQL (11)
- 前台 (5)
- 杂谈 (25)
- UML (1)
- jdbc编程 (2)
- 技术调研 (1)
- 数据通信 (2)
- ios (1)
- servlet自学笔记 (10)
- tomcat (9)
- SQL学习笔记 (6)
- java工具 (1)
- 数据库设计 (4)
- javascript (10)
- jsp (11)
- struts (17)
- ajax (7)
- linix/Unix (6)
- 资源 (3)
- spring (14)
- 算法 (5)
- 计算机网络 (2)
- http (5)
- c++ (2)
- web应用 (3)
- jvm (5)
- java中的字符编码 (14)
- java代码库 (2)
- classloader (1)
- 读书笔记 (1)
- c (1)
- 开源软件 (1)
- svn (1)
- AOP (1)
- java序列化 (1)
- 多线程 (4)
- The legendary programmers (1)
- Apache http Server (1)
- html tag (3)
- struts1.X学习笔记 (5)
- buffalo (1)
- 自己收藏 (0)
- TOEFL(IBT) (1)
- 网络翻墙 (0)
- 编译原理 (1)
- 书籍推荐 (1)
- css (10)
- javaee环境搭建资料 (1)
- 开源工具 (1)
- 美国生活 (1)
- spring自学 (3)
- log4j (3)
- 算法与数据结构 (5)
- 病毒,插件处理大全 (1)
- flex (2)
- webservice (1)
- git (7)
- cs (1)
- html (4)
- javaee (6)
- 开车 (0)
- springmvc (3)
- 互联网架构 (2)
- intellij idea (18)
- maven (15)
- mongodb (2)
- nginx (1)
- react (3)
- java基础例子 (2)
- springboot (2)
- 培训 (5)
- mysql (3)
- 数据库 (3)
- 生活 (2)
- intellij (3)
- linux (2)
- os (3)
最新评论
-
潇洒天涯:
[color=blue][color=cyan] ...
oracle 通过 nvl( )函数sql 查询时为 空值 赋默认值 -
hekai1990:
受教了..
oracle中的varchar2
日常开发中,经常遇到由于页面不一致,导致由页面表单提交或超连接跳转时中文成了乱码的问题。解决此问题的方法不外乎二:
1.使用统一的页面编码
2.接收参数的时候进行编码转换。
但 是以上两种方法并不是任何时候都能胜任的。本人在开发并维护一个web应用的时候就遇到了这样的问题:在进行系统版本切换时(由.net滚动升级至 java),一个GB2312编码的页面,需要向两个不同的servlet提交请求。一个servlet接收参数使用utf-8编码,另一个使用 GB2312。修改servlet的java代码不太现实,它们都是部署在服务器上的稳定的web应用。统一页面编码就更行不通了,一个网页怎么可能即是 utf-8又是GB2312编码呢?
冥思苦想,想了两个解决方案出来:
1.编写一个独立的servlet作跳板,在其内部进行编码转换
2.写一段javascript来完成编码转换
本来想按照方案1来的,但是发现公司里已经有.net 的牛人写出了javascript脚本,仔细看过不禁拍案叫绝:
<script language="JavaScript" charset="utf-8">
<!--
function utf8(wide) {
var c,s;
var enc = "";
var i = 0;
while(i<wide.length) {
c= wide.charCodeAt(i++);
// handle UTF-16 surrogates
if(c>=0xDC00 && c<0xE000){
continue;
}
if(c>=0xD800 && c<0xDC00) {
if(i>=wide.length){
continue;
}
s= wide.charCodeAt(i++);
if(s<0xDC00 || c>=0xDE00){
continue;
}
c= ((c-0xD800)<<10)+(s-0xDC00)+0x10000;
}
// output value
if(c<0x80){
enc += String.fromCharCode(c);
}
else if(c<0x800){
enc += String.fromCharCode(0xC0+(c>>6),0x80+(c&0x3F));
}
else if(c<0x10000){
enc += String.fromCharCode(0xE0+(c>>12),0x80+(c>>6&0x3F),0x80+(c&0x3F));
}
else{
enc += String.fromCharCode(0xF0+(c>>18),0x80+(c>>12&0x3F),0x80+(c>>6&0x3F),0x80+(c&0x3F));
}
}
return enc;
}
var hexchars = "0123456789ABCDEF";
function toHex(n){
return hexchars.charAt(n>>4)+hexchars.charAt(n&0xF);
}
var okURIchars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-";
function encodeURIComponentNew(s) {
//alert(s);
var s = utf8(s);
var c;
var enc = "";
for(var i=0;i<s.length;i++) {
if(okURIchars.indexOf(s.charAt(i))==-1)
enc+="%"+toHex(s.charCodeAt(i));
else
enc+=s.charAt(i);
}
// document.write(enc);
return enc;
}
// -->
</script>
将如上代码放入GB2312编码的页面,不仅可以进行GB2312->utf-8的转换,还可以进行GB2312->utf-16的转换。
再次感叹javascript的威力!
发表评论
-
【转】字符编码笔记:ASCII,Unicode 和 UTF-8
2017-12-12 19:09 449今天中午,我突然想搞清楚 Unicode 和 UTF-8 之 ... -
【转】HTTP协议及浏览器编码行为
2012-12-19 13:48 1392转自:http://blog.csdn.net/hap ... -
【转】JSP中request.getParameter()乱码问题
2012-09-11 14:12 3120第一,存文件必须以一种编码存;读文件也必须以一种编码读,如不特 ... -
【转】说说字符集和编码
2012-09-10 22:41 784很久很久以前,有一 ... -
【转】解决get方法传递URL参数中文乱码问题
2012-08-27 22:18 0来自:http://www.javaeye.com/top ... -
判断一个文本文件的编码格式
2012-08-27 17:40 0文件的字符集在Windows下有两种,一种是ANSI,一 ... -
【转】为什么用记事本保存的UTF-8格式的java文件不能编译通过?
2012-08-27 17:26 0Windows记事本默认保存的ANSI格式,java编 ... -
Eclipse中的Text File Encoding与文本文件的编码的关系
2012-08-27 17:25 1486当我们编写一个txt文件或jsp页面时,我们用默认的一种编码区 ... -
【转】有关保存文件时的编码选项与html/jsp页面设定字符编码的配置
2012-08-27 16:10 759分两种情况介绍 注:首先,各位得对一次 请求/响应 的 ... -
【转】内码转换技术
2012-08-27 16:04 0内码转换技术 好吧 ... -
【转】JAVA字符编码系列一:Unicode,GBK,GB2312,UTF-8概念基础
2012-08-27 13:25 955这两天抽时间又总结/整理了一下各种编码的实际编码方式, ... -
【转】又一篇介绍计算机字符编码的好文——计算机中的字是如何处理的?
2012-08-26 21:50 0如果你用放大镜看一下,可以看出屏幕上的字是由一个一个的像素点组 ... -
【转】Java编码规范,在您进行编码之前应该阅读的规范
2012-08-27 11:25 821本文转载于:http://www.web3d.com. ... -
【转】第三篇:JAVA字符编码系列三:Java应用中的编码问题
2012-08-26 21:42 804这部分采用重用机制,引用一篇文章来完整本部分目标。 来源 ... -
【转】第二篇:JAVA字符编码系列二:Unicode,ISO-8859-1,GBK,UTF-8编码
2012-08-26 21:17 9491、函数介绍 在Java中,字符串用统一的Unico ... -
【转】java 与 iso-8859-1 编码
2012-08-26 21:16 1543今天又研究了一下字符编码。写了些测试代码,算是比较了解了。 主 ... -
【转】form表单提交数据编码方式及tomcat的接受编码方式
2012-08-26 21:15 1582form有2中方法把数据提交给服务器,get和post,分别说 ... -
【转】TOMCAT中文问题,解决(全)(转载)
2012-09-11 14:30 690TOMCAT中文问题解决了.其他应用服务器的问题也可以 ...
相关推荐
在ASP(Active Server Pages)中,UrlEncoding是一个关键的编程技术,主要用于处理URL中的特殊字符。这是因为URL(统一资源定位符)中某些字符在传输过程中可能会引起解析问题,比如空格通常会被转换为加号(+)或者...
本话题主要涉及了MD5算法、URLEncoding、Base64编码以及几种对称和非对称加密算法AES、DES、DESede和RSA的工具类与使用实例。接下来,我们将深入探讨这些知识点。 1. **MD5算法**:MD5(Message-Digest Algorithm 5...
在本篇标题为“Javascript实用小技巧”的文章中,作者分享了一系列实用的JavaScript代码片段,旨在帮助学习JavaScript的人士掌握一些提高编程效率的技巧。文章内容涉及了JavaScript的Function对象的apply和call方法...
虽然这不是JavaScript的标准功能,但在VBScript中,它可以用来检测特定组件是否已安装在用户的计算机上。这通常用于确保用户有执行某些操作所需的软件环境。 6. **CheckURL函数**: 这是一个JavaScript函数,用于...
接下来的`urlEncoding`函数是核心部分,它接受一个`wxString`类型的参数`sIn`,并返回一个新的`wxString`对象,该对象包含了原字符串按照UTF-8编码格式进行URL编码的结果。函数内部遍历了输入字符串的每一个字符,...
下面是一个使用JavaScript编写的示例代码,演示如何实现这一功能: ```javascript function URLEncoding(vstrIn) { var strReturn = ""; for (var i = 1; i ; i++) { var ThisChr = vstrIn.charAt(i - 1); if ...
在Web开发中,分页技术是一项非常重要的功能,它能够帮助用户更有效地浏览大量数据,而无需一次性加载所有内容,从而提高用户体验。本篇将详细探讨如何使用Ajax和Java技术来实现分页,特别是在Struts、Hibernate和...
通过理解上述内容,你可以在LoadRunner的C语言脚本中实现字符串到URL编码的转换,无论是通过编写自定义函数,还是利用提供的`code.exe`工具,都能有效地完成任务。同时,记得时刻关注代码的可读性和维护性,以便在...
为了有效地利用这两个库,开发者需要了解它们的功能限制,并结合业务需求制定合适的输入验证和清理策略。同时,时刻保持库的更新,以应对新出现的XSS攻击手段。最后,结合其他安全实践,如输入验证、输出编码、内容...
- 在 Tomcat 服务器配置文件 `server.xml` 中设置 `URLEncoding="utf-8"`。 - **URL 参数编码问题**: - 在发送请求前使用 `URLEncoder.encode()` 方法对 URL 参数进行编码。 - 确保前端页面的编码也是 UTF-8。 ...
代码如下:‘//转换中文为unicode function URLEncoding(vstrIn) dim i dim strReturn,ThisChr,innerCode,Hight8,Low8 strReturn = “” for i = 1 to Len(vstrIn) ThisChr = Mid(vStrIn,i,1) If Abs...
开发者可以利用这个工具轻松地处理网络数据,同时其内置的错误处理和回调机制使得网络编程更加稳健。 其次,GTM提供了`GTMUnitTesting`,这是一个测试支持库,它扩展了Xcode自带的OCUnit测试框架,增加了如测试宏、...
- 配置Tomcat的server.xml文件,设置`URLEncoding="utf-8"`。 - 使用JavaScript的`encodeURI`或`encodeURIComponent`函数对URL进行编码。 - 对于POST请求,可设置请求头`Content-Type`为`application/x-...
在进行Web开发时,我们经常需要使用Ajax技术实现异步加载数据的功能。当请求的数据包含中文字符时,尤其是在跨域请求不同编码标准的页面时,经常会遇到中文乱码的问题。本文主要探讨如何解决跨域读取其他网页时出现...
当使用AJAX(异步JavaScript和XML)进行跨编码通信时,由于XMLHttpRequest对象默认使用UTF-8处理数据,如果服务器返回的数据是GB2312编码,就会导致乱码。 解决这个问题的关键在于正确地解码接收到的数据。在...
二进制数据转字符串:BytesToBstr 该函数负责将从网络请求获得的二进制数据转换成字符串。 #### 函数定义: ```vb Public Function BytesToBstr(strBody, CodeBase) ``` #### 实现原理: - 使用`Adodb.Stream`...
以上代码中的`URLEncoding`函数实现了这一功能,确保了特殊字符能够被正确传输。 2. **创建XMLHTTP对象**: `CreateObject("Microsoft.XMLHTTP")`这行代码用于创建XMLHTTP对象,它是所有后续操作的基础。 3. **设置...