ajax返回的欧洲字符(例如:法文)乱码
ajax返回值的乱码现象产生的相关代码如下:
Java代码:
JsonObject jsonObject = new JsonObject();
jsonObject.addProperty("filterChannelData", filterChannelData);
IOUtils.write(jsonObject.toString().getBytes(), response.getOutputStream());
Javascript代码:
$.ajax({
type: "POST",
data:{
currentChannelValue: currentChannelValue
},
url: "/MyProject/setting",
dataType: "json",
success: function(data) {
$('#Switch_On_Channel').html(data.filterChannelData);
}
});
此时法文 één HD 是filterChannelData中内容,传到前台时,变成了乱码。
filterChannelData = "<option value=één HD>één HD</option>";
前端和后端的页面的默认编码格式都是utf-8。
经过调试发现,后台代码加上
response.setContentType("text/html;charset=utf-8");
依旧是乱码。然后通过用数组方式返回数据回去,乱码问题解决了。
Java代码:
ArrayList<String> filterChannelsList = new ArrayList<String>();
……
response.setContentType("text/html;charset=utf-8");
try(PrintWriter pw = response.getWriter()){
pw.write(String.join(",",filterChannelsList));
}catch (Exception e) {
LOG.error(e.getMessage(), e);
}
JavaScript代码:
$.ajax({
type: "POST",
data:{
currentChannelValue: currentChannelValue
},
url: "/MyProject/setting",
success: function(data) {
var arr = data.split(",");
var channelFilterData="";
for (var i = 0; i < arr.length; i++) {
channelFilterData += "" + "<option value=\""+ arr[i] + "\">" + arr[i]+ "</option>";
}
$('#Switch_On_Channel').html(channelFilterData);
}
});
总结:由于ajax 返回的编码方式是json,导致的法文乱码,若返回的编码方式是text,html,依旧是乱码的。最后用数组的方式从后台传数据上来,就不会出现乱码了。
ajax返回的欧洲字符(例如:法文)乱码的更多相关文章
- jquery ajax 返回值 中文时乱码或变成问号解决方法
转载自jquery的 ajax返回值为中文时乱码解决方法 用jquery的ajax,遇到个问题,服务器端从数据库取到的数据没有出现中文乱码问题(日志打出来是没有乱码的),但是异步传到客户的时候却出现了 ...
- JQuery处理json与ajax返回JSON实例
一.JSON的一些基础知识. JSON中对象通过“{}”来标识,一个“{}”代表一个对象,如{“AreaId”:”123”},对象的值是键值对的形式(key:value). “[]”,标识数组,数组内 ...
- [Javascript,JSON] JQuery处理json与ajax返回JSON实例
转自:http://www.php100.com/html/program/jquery/2013/0905/5912.html [导读] json数据是一种经型的实时数据交互的数据存储方法,使用到最 ...
- (转)JQuery处理json与ajax返回JSON实例
son数据是一种经型的实时数据交互的数据存储方法,使用到最多的应该是ajax与json配合使用了,下面我来给大家介绍jquery处理json数据方法. 一.JSON的一些基础知识. JSON中对象通过 ...
- javascript 解析ajax返回的xml和json格式的数据
写个例子,以备后用 一.JavaScript 解析返回的xml格式的数据: 1.javascript版本的ajax发送请求 (1).创建XMLHttpRequest对象,这个对象就是ajax请求的核心 ...
- 11月15日下午 ajax返回数据类型为XML数据的处理
ajax返回数据类型为XML数据的处理 /*XML:可扩展标记语言 HTML:超文本标记语言 标签:<标签名></标签名> 特点: 1.必须要有一个根 2.标签名自定义 3.对 ...
- 11月13日上午ajax返回数据类型为JSON数据的处理
ajax返回数据类型为JSON数据的处理 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &qu ...
- Ajax在IE浏览器会出现中文乱码解决办法
在AJAX浏览器来进行发送数据时,一般它所默认的都是UTF-8的编码. Ajax在IE浏览器会出现中文乱码的情况!解决办法如下 <script type="text/javascrip ...
- $.ajax返回的JSON格式的数据后无法执行success的解决方法
近段时间做项目,在项目使用了ajax技术,遇到了一个奇怪的问题:"$.ajax返回的JSON格式的数据无法执行success",代码是这样写的: 1 $.ajax({ 2 .. 3 ...
随机推荐
- 细说JDK日志组件
1. 概述 JDK自带的日志组件在包java.util.logging下,如图: 2. 架构如上图所示,JDK日志组件核心元素包括:Logger,Handler,Filter和Formatter,他们 ...
- 使用JAVA数组实现顺序栈
1,首先总结一下线性表(分为顺序表和链接表,[即顺序存储结构和链式存储结构的区别])和栈(顺序栈和链接栈)还有队列(顺序队列和链接队列)的JAVA类库中的实现: java.util.ArrayList ...
- HIbernate处理数据更新丢失
使用乐观锁的机制处理: 第一步: 在持久类中添加version属性,并且添加对应的get.set方法; 第二步: 在全局配置文件中配置节点<version name="version& ...
- [译]kendoui - 方法和事件
原文 为了使用方法和事件,首先要获取到widget实例. 获取widget 一共有3种获取widget的方式. jQuery的data方法 将widget的名作为参数传给jQuery的data方法.( ...
- fail2ban 防爆破,防止CC 攻击
fail2ban fail2ban监视检测日志文件,根据匹配日志的错误信息(正则式匹配)执行相应的屏蔽动作. 可用来放置爆破 和 CC 攻击. 安装: yum install fail2ban -y ...
- 实时监听 input值的变化
重点:$('#xx').bind('input propertychange', function() {} 举例子: html: <div ><span id="numb ...
- [C++]Linux之C编程异常[true未定义解决方案]
C语言里面是没有bool(布尔)类型的,C++里面才有,这就是说,在C++里面使用bool类型是没有问题的.bool类型有只有两个值:true =1 .false=0. 但是,C99标准里面,又定义了 ...
- ES6走一波 module
ES6模块设计思想: 尽量静态化,使得编译时就能确定模块的依赖关系,输入.输出的变量.可做静态优化. ES6模块不是对象,而是通过export命令显示指定输出的代码,再通过import命令输入 ex ...
- json 的类型
json靠双引号与单引号, 区分是NUMBER 还是 STRING
- python(六)列表推导式、字典推导式、集合推导式
转载 https://www.cnblogs.com/tkqasn/p/5977653.html