注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

北漂的小羊

Java编程,开发者,程序员,软件开发,编程,代码。新浪微博号:IT国子监

 
 
 

日志

 
 
关于我

在这里是面向程序员的高品质IT技术学习社区,是程序员学习成长的地方。让我们更好地用技术改变世界。请关注新浪微博号: IT国子监(http://weibo.com/itguozijian)

网易考拉推荐

Java和JS转码 (针对参数乱码问题的解决)  

2012-10-19 19:12:52|  分类: 软件开发 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

      java中文乱码问题一直困扰着很多初学者,在项目开发中,都会J2EE应用和容器需要分离的原则,大部分不会去修改tomcat中的编码方式,但是也可以通过设置过滤器来对一部分请求参数做转码的工作。我们在项目开发中,首先要让我们开发环境统一编码。比如我用的开发环境是Eclipse+Tomcat5.0+SQLServer 2005。Eclipse的项目属性中可以设置项目的编码,可以针对JSP页面的设置统一的编码。但是有时候对于一个特殊的,比如get提交的请求等我们都有些束手无策,今天给大家说一种很传统,但很适用的方法,可以解决一些无法用上述办法解决的问题。

出现乱码问题原因(来自网络):
            1.文件页面编码导致的乱码。
            2.不同字符集的字符串转换时导致的乱码。
            3.Socket网络传输时导致的中文乱码。
            4.JSP中显示中文的乱码。
            5.Post和Get传递中文,后台获取乱码。
            6.后台向前台传递中文乱码。
            7.下载文件时文件名乱码。
js文件:
Js代码 
  1. <script type="text/javascript">  
  2.    function test_encodeURI(){  
  3.    document.write(encodeURI('天涯草')+"<br>");  
  4.    document.write(encodeURI('http://iiteye.blog.163.com')+"<br>");  
  5.    document.write(encodeURIComponent('http://iteye.blog.163.com')+"<br>");     
  6.    document.write(decodeURI('www.cup.edu.cn')+"<br>");  
  7.    document.write(decodeURIComponent('http://iteye.blog.163.com')+"<br>");    
  8.    }  
  9. </script> 
提示:请注意 encodeURIComponent() 函数 与 encodeURI() 函数的区别之处,前者假定它的参数是 URI 的一部分(比如协议、主机名、路径或查询字符串)。因此 encodeURIComponent() 函数将转义用于分隔 URI 各个部分的标点符号。

java文件:
Java代码 
  1. java.net.URLDecoder.decode(blogname,"UTF-8");  


知识拓展:
字符:是文字与符号的总称,包括文字、图形符号、数学符号等。
字符集:就是一组抽象字符的集合。字符集常常和一种具体的语言文字对应起来,该文字中的所有字符或者大部分常用字符就构成了该文字的字符集,比如英文字符集。繁体汉字字符集、日文汉字字符集等等。 
计算机要处理各种字符,就需要将字符和二进制内码对应起来,这种对应关系就是字符编码: 制定编码首先要确定字符集,并将字符集内的字符排序,然后和二进制数字对应起来。根据字符集内字符的多少,会确定用几个字节来编码。
每种编码都限定了一个明确的字符集合,叫做被编码过的字符集(Coded Character Set),这是字符集的另外一个含义。通常所说的字符集大多是这个含义。

ASCII编码是目前计算机中用得最广泛的字符集及其编码。
ISO8859-1可以表示的是西欧语言。看起来很单一为什么还在使用呢?,由于是单字节编码,和计算机最基础的表示单位一致,所以很多时候,仍旧使用ISO-8859-1编码来表示。 而且在很多协议上,默认使用该编码。
Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。通常我们所遇到过多UTF-8这是Unicode编码的实现方式,请一定要加以区分。
GB2312字集是简体字集;BIG5字集是台湾繁体字集;GBK字集是简繁字集,包括了GB字集、BIG5字集和一些符号
GB18030是国家制定的一个强制性大字集标准,它的推出使汉字集有了一个统一的标准。
Linux系统默认使用的是ISO-8859-1编码,Win32系统默认使用的是GB2312编码。
  评论这张
 
阅读(891)| 评论(1)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016