java前台传中文到后台乱码问题,还有浏览器的差异

问题描述

java前台传中文到后台乱码问题,还有浏览器的差异

前台通过url的形式传中文参数,后台用
String parvalue = new String( request.getParameter("parvalue").getBytes("ISO8859-1"), "utf-8");
这样接受,在谷歌浏览器上没问题,但在IE浏览器,QQ浏览器上却是乱码。

然后换个方式,前台url += "&area=" + encodeURIComponent(area);这样编码一次,后台还是乱码,而且在谷歌浏览器也不行了。

请大虾们帮帮忙

解决方案

tomcat找到配置文件server.xml
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8"/>
找到你用的端口,添加编码

解决方案二:

前台转码,后台解码

例如:前台jsp中:

var groupBuyerName = document.getElementById('groupBuyerName').value;
groupBuyerName = encodeURI(encodeURI(groupBuyerName));

后台java类中:

String groupBuyerName = request.getParameter("groupBuyerName")
groupBuyerName=URLDecoder.decode(groupBuyerName,"utf-8");

解决方案三:

js 传中文,java后台乱码问题
一些前台后台的关于浏览器差异的问题

解决方案四:

还有可能是你使用的服务器的问题,tomcate可以配置URIEncoding属性,指定get操作的请求参数编码的方式的。

解决方案五:

编码有问题现在这几个有没有设置
(1).项目web.xml编码设置:页面显示和传参乱码,可能是web.xml没配置请求编码,这里需要加上以下配置就ok:

<filter>
    <filter-name>encodingFilter</filter-name>
    <filter-class>
        org.springframework.web.filter.CharacterEncodingFilter
    </filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
    <init-param>
        <param-name>forceEncoding</param-name>
        <param-value>true</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>encodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
<!--spring编码过滤器end -->
    (2).tomcat 的service.xml加上编码设置
    <Connector port="8080"  protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />
时间: 2024-12-02 08:03:57

java前台传中文到后台乱码问题,还有浏览器的差异的相关文章

Fckeditor解决上传中文名称图片出现乱码问题(For ASP)

解决|上传|问题|中文|fckeditor Fckeditor解决上传中文名称图片出现乱码问题(For ASP) 此例仅适用于ASP下的代码修改,其它语言也可以通过本文对应修改相关文件代码即可. 题外:其实Fckeditor本身就应该提供一个类似 FCKConfig.AutoSave的参数给大家选择是否自动命名上传文件或以原文件名称上传的功能,希望下个版本能实现吧:) 好,进入正题,在ASP实现Fckeditor上传图片自动命名的功能很简单,就只有两步: 1.修改editor\filemanag

从js向Action传中文参数出现乱码问题的解决方法_javascript技巧

做项目的时候,发现Action获取jsp表单中的中文参数,只要整个项目都采用UTF-8编码格式都不会出现乱码问题:但JSP中用到JS,并从JS向Action传中文参数,就会出现中文乱的现象.几经询问百度,上面说法很多. 经过实践发现下面的方法可以解决中文乱码问题: JSP的JS中:中文参数用encodeURI(encodeURI(中文参数)),经过两次转码.例如: 复制代码 代码如下: function show(next,id,realName){ document.forms['f2'].a

CKeditor上传中文图片名称乱码问题

FCKeditor中文图片名称上传乱码的主要原因是服务器不支持中文导致的,解决这个问题最彻底的方法是上传文件的时候把文件名改成非中文的 具体方法如下 在这个文件中ckeditor/" target="_blank">fckeditoreditorfilemanagerconnectorsphpcommands.php  代码如下 复制代码 找到 $sOriginalFileName = $sFileName ; // Get the extension. $sExten

php utf8编码上传中文文件名出现乱码

 代码如下 复制代码 <?php  if(isset($_FILES['file'])){  $upload='upload/'.$_FILES['file']['name'];  if(is_uploaded_file($_FILES['file']['tmp_name'])){  //iconv函数解决上传文件中文名乱码的问题,但是不提倡文件名是中文的,特别是unix/linux环境下 ,当你要输出的时候,又要给变回来,iconv('gb2312',UTF-8',$upload) if(!m

用ajax传递json到前台中文出现问号乱码问题的解决办法

我使用的Springmvc,在controller层传输一个json到前台,后台显示没问题,中文正常显示而到了前台 中文就变成了问号. 后来发现,因为在controller中返回json用了@ResponseBody,而spring源码中@ResponseBody 的实现类发现其默认的编码是 iso-8859-1,而项目用的编码为utf-8,所以传中文会出现乱码. 这里我使用了注解来解决: @RequestMapping(value="/echarts.do", produces =

【技术贴】servlet传参|前台传参含中文符号等 tomcat乱码 java后台接收乱码终极解决方

1.前台传参,一定要编码,否则中文传不出来~~tomcat乱码此篇只适合于tomcat中文传参乱码,websphere6.1中文传参乱码请移步http://hi.baidu.com/ae6623/item/27c43f57e913a0cad2e10c46 前台如果用js进行了编码,后台用jsp或者servlet进行解码的时候就有可能乱码,如下,是我遇到的一个问题. 我的前台js里面写: var descMsg = encodeURIComponent($("#descMsg").val

正在学java 后台传到前台的中文为??? 这是个什么鬼 在线等

问题描述 正在学java 后台传到前台的中文为??? 这是个什么鬼 在线等 后台代码如下: public String paging(){ HttpServletRequest req=ServletActionContext.getRequest(); HttpServletResponse resp=ServletActionContext.getResponse(); int pageIndex=Integer.parseInt(req.getParameter("pageIndex&qu

Java中URL传中文时乱码的解决方法_java

前言 Java中URL传中文时乱码的问题相信不少朋友都遇到过,最近就遇到一个问题,就是在Action当中把一条中文信息绑定在URL的后面,ActionForward到别一个页面时,用reqeust.getParameter取出是出现乱码的问题. 解决办法 1.对要进行URL传递的中文字符进行编码: String message = java.net.URLEncoder.encode("中文字符","utf-8"); 2.在取URL传递中文的页面对字符进行解码: S

Java中FTPClient上传中文目录、中文文件名乱码问题解决方法_java

问题描述:   使用org.apache.commons.net.ftp.FTPClient创建中文目录.上传中文文件名时,目录名及文件名中的中文显示为"??". 原因:   FTP协议里面,规定文件名编码为iso-8859-1,所以目录名或文件名需要转码. 解决方案: 1.将中文的目录或文件名转为iso-8859-1编码的字符.参考代码: 复制代码 代码如下:    String name="目录名或文件名";    name=new String(name.ge