当前位置:首页 >  站长 >  建站经验 >  正文

Form表单常见乱码问题解决方案

 2014-01-23 09:07  来源: 用户投稿   我来投稿 撤稿纠错

  【推荐】海外独服/站群服务器/高防

Form表单是网站程序中的重要组成部分,但是Formolu表单经常会出现一些乱码,给网站造成许多麻烦。针对Form表单常见的乱码问题,这里我总结了一些解决方案,希望可以帮到大家。

1、表单提交时的乱码问题

在进行表单提交的时候,经常在提交中文时会出现一些乱码,这也是常见的一种乱码形式。表单的提交方式有两种:get和post提交方式。所以请求的时候便有get请求和post请求。那么这两种请求方式产生的乱码问题,其解决方案是不同的。如我做一个彩票软件开发的一个表单提交,如果用get请求时,其传递给服务器的数据是附加在URL地址之后的;而post的请求时,其传递给服务器的数据是作为请求体的一部分传递给服务器。这也就导致了对它们所产生的乱码的处理方式是不同的。

(1)客户端的get请求

对于客户端的get请求来说,服务器端处理要想不出现乱码,解决这个问题稍微复杂一些,需要用到String类型的构造函数,其中的一个构造函数就是用指定的编码方式去解码,一般都用“UTF-8”的方式。只要在服务器端将请求得到的参数重新构造成一个字符串就行了。经过构造之后,客户端输入中文,且表单时get请求的情况下,str就变成了中文了。

(2)客户端的post请求

对于客户端的post请求来说,处理乱码的问题就比较简单了,因为请求的数据时作为请求体的一部分传递给服务器的,所以只要修改请求内的编码就行了。只要在服务器端的最开始处将请求的数据设置为“UTF-8”就行了,输入如下语句:request. setCharacterEncoding(“UTF-8”);这样用户在服务器端获取到的中文数据就不再是乱码了。

2、超链接时出现乱码

在Web开发中,挺多的时候都是通过超链接去传递中文参数的,这也会导致在显示的时候也会出现乱码,对于超链接来说,它实际上是向服务器端发送了一个请求,而它发出的请求是属于get请求,所以对于超链接的乱码来说,它处理乱码的方式和表单的get请求出现乱码的方式是一样的。

3、浏览器版本低导致的乱码

这个问题也是很常见的,不同的浏览器,不同的版本会出现一些乱码问题。如在一个彩票软件开发www.88856856.cn 网站提交一些信息,地址栏显示的是“%2C%C6%CC%C6”的字样,其实这都是防止出现乱码进行的解决方案,如果你的浏览器是IE6或以下版本,则我们的第二种情况和第三种情况会出现乱码(尤其是当中文是奇数的时候),这就不好使了所以我们必须采用另一种比较实际的作法:

在java.net包中提供了URLEncoder类和URLDcoder类,这两个类又分别提供了encode和decode两个静态方法,分别用于进行编码和解码。我们将要传递的中文参数进行编码之后,在传递给服务器,服务器解码之后,就可以显示中文了。

进行编码:URLEncoder.encode(stuname,”UTF-8”)

传递给服务器:”>传递

进行解码:URLDecoder.decode(stuname,”UTF-8”)

Form表单的出现的乱码问题还有很多,这里介绍的只是在我的工作中常见的乱码问题。其实在工作中你会发现,Form表单的乱码问题还非常多,希望有经验的朋友也可以分享些经验。

申请创业报道,分享创业好点子。点击此处,共同探讨创业新机遇!

相关文章

热门排行

信息推荐