最近在工作中遇到,使用ajax get方式提交中文参数的时候出现乱码,通过上网搜索,总结出比较简单的两种解决方案:

  第一种,由于tomcat默认的字符集是ISO-8859-1,修改Tomcat中的server.xml,在port为8080(也可以是不同的端口)的Connector中加入属性: URIEncoding="UTF-8"  就可以了。

这样在ajax的url中参数,或type为get的时候在data中的参数,在后台获取都不会再后台出现乱码了。不用在后台使用转码的代码都行了。

  第二种,对需要传递的中文参数先进行两次转码:

    1.js文件中使用encodeURI()方法。

     //检查版本名称是否已经存在
function checkVersionName() {
var name = $('#name').val();
//var re = /^[1-9]+[0-9]*]*$/;
/* if (!re.test(resourceId)) {
alert("ID请输入数字");
$('#resourceId').val('');
return false;
} */
var url = "${ctx}/mkt/appVersion/list?name=" + encodeURI(encodeURI(name));
$.ajax({
cache:false,
type: "POST",
async: false,
url: url,
dataType: "json",
contentType:'application/x-www-form-urlencoded; charset=UTF-8',
success: function (data) {
if (data.page.count > 0) {
top.$.jBox.info("版本名称:" + name + "已经存在");
$('#name').val('')
}
}
});
}

有的时候是这样(我遇到了):var url = "<%=bathPath%>/department/list?keyword=" + encodeURI(keyword);

    2.在后台中对传递的参数进行URLDecoder解码

      String keyword= URLDecoder.decode(request.getParameter("keyword"),"UTF-8");

解决ajax get post方式提交中文参数乱码问题的更多相关文章

  1. 解决ajax get方式提交中文参数乱码问题

    最近在工作中遇到,使用ajax get方式提交中文参数的时候出现乱码,通过上网搜索,总结出比较简单的两种解决方案: 第一种,由于tomcat默认的字符集是ISO-8859-1,修改Tomcat中的se ...

  2. Java Web开发总结(三) —— request接收表单提交中文参数乱码问题

    1.以POST方式提交表单中文参数的乱码问题 <%@ page language="java" import="java.util.*" pageEnco ...

  3. IE下get方式传中文参数乱码解决方法

    乱码原因:浏览器在传递url的时候,会使用自己的编码格式对地址进行编码,如果浏览器所使用编码与服务器采用编码不一致,服务器接收到的参数就会出现乱码.在firefox,chrome下正常,ie下会出现乱 ...

  4. get方式提交中文乱码解决

    get方式提交中文时会乱码,过滤器只过滤post请求,此时可修改tomcat配置文件server.xml,为Connector添加属性URIEncoding="utf-8". ec ...

  5. request接收表单提交数据及其中文参数乱码问题

    一.request接收表单提交数据: getParameter(String)方法(常用) getParameterValues(String name)方法(常用) getParameterMap( ...

  6. 采用DoGet方式提交中文,乱码产生原因分析及解决办法

    前段时间某功能在测试机器上出现乱码,情况如下:   现象:           调试搜索功能时,通过doGet方法提交到后台的中文参数在本地和开发测试机器上为乱码(Action层),在测试人员测试机器 ...

  7. 解决servlet中get方式中中文乱码问题(二):装饰者模式使用

    注意,这里是针对Tomcat容器中get方式提交的servlet中获得参数,参数中有中文的时候乱码的问题: 之前我已经讲过,Tomcat8.0及以上URIEncoding都是utf-8的默认编码,不会 ...

  8. ajax 中文参数乱码问题不一定是编码格式问题。

    代码要修改用户的信息,写了三个ajax,第一个写完测试没有问题,后面俩逻辑一样的就直接复制粘贴了.到第二个ajax测试的时候发现中文会乱码 如下 $.ajax({//中文参数乱码 url: '/edi ...

  9. jquery .post .get中文参数乱码解决方法详解

    jquery默认的编码为utf-8,做项目时有时处于项目需要用到ajax提交中文参数,乱码问题就很头疼了,折腾了许久终于弄出来了.为了便于传输,我们首先将需要用到的参数用javascript自带的函数 ...

随机推荐

  1. .NET Core实战项目之CMS 第十七章 CMS网站系统的部署

    目前我们的.NET Core实战项目之CMS系列教程基本走到尾声了,通过这一系列的学习你应该能够轻松应对.NET Core的日常开发了!当然这个CMS系统的一些逻辑处理还需要优化,如没有引入日志组件以 ...

  2. Jenkins时区设置为北京时间

    打开 [系统管理]->[脚本命令行]运行下面的命令 System.setProperty('org.apache.commons.jelly.tags.fmt.timeZone', 'Asia/ ...

  3. ASP.NET Core SignalR中的流式传输

    什么是流式传输? 流式传输是这一种以稳定持续流的形式传输数据的技术. 流式传输的使用场景 有些场景中,服务器返回的数据量较大,等待时间较长,客户端不得不等待服务器返回所有数据后,再进行相应的操作.这时 ...

  4. redis 系列14 有序集合对象

    一. 有序集合概述 Redis 有序集合对象和集合对象一样也是string类型元素的集合,且不允许重复的成员.不同的是每个元素都会关联一个double类型的分数.redis正是通过分数来为集合中的成员 ...

  5. 从零开始学习PYTHON3讲义(五)while循环和棋盘麦粒问题

    <从零开始PYTHON3>第五讲 ​上一节课重点学习了字符串,并且传递了一个重要的理念,就是程序要对开发人员自己和用户都足够友好.在这个过程中,利用字符串给出充分.完整.准确的提示是非常重 ...

  6. 利用好浏览器的空闲时间 --- requestIdleCallback

    页面流畅与 FPS 页面是一帧一帧绘制出来的,当每秒绘制的帧数(FPS)达到 60 时,页面是流畅的,小于这个值时,用户会感觉到卡顿. 1s 60帧,所以每一帧分到的时间是 1000/60 ≈ 16 ...

  7. 带着新人学springboot的应用02(springboot+mybatis+缓存 中)

    继续接着上一节,大家应该知道驼峰命名法吧!就是我们javabean中属性一般命名是lastName,userName这种类型的,而数据库中列名一般都是last_name,user_name这种的,要让 ...

  8. Spring Boot(五):Spring Boot Jpa 的使用

    在上篇文章Spring Boot(二):Web 综合开发中简单介绍了一下 Spring Boot Jpa 的基础性使用,这篇文章将更加全面的介绍 Spring Boot Jpa 常见用法以及注意事项. ...

  9. springboot+cloud 学习(五)统一配置中心 spring cloud config + cloud bus + WebHooks +RibbitMQ

    前言 微服务要实现集中管理微服务配置.不同环境不同配置.运行期间也可动态调整.配置修改后可以自动更新的需求,Spring Cloud Config同时满足了以上要求.Spring Cloud Conf ...

  10. C指针和数组的关系详解

    1.C中数组和指针的关系 对于任意类型的数组arr,对于同类型的指针类型parr(确切一点,可以假设类型为int,即int arr[], *parr).它们之间有如下"内幕": 1 ...