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返回的欧洲字符(例如:法文)乱码的更多相关文章

  1. jquery ajax 返回值 中文时乱码或变成问号解决方法

    转载自jquery的 ajax返回值为中文时乱码解决方法 用jquery的ajax,遇到个问题,服务器端从数据库取到的数据没有出现中文乱码问题(日志打出来是没有乱码的),但是异步传到客户的时候却出现了 ...

  2. JQuery处理json与ajax返回JSON实例

    一.JSON的一些基础知识. JSON中对象通过“{}”来标识,一个“{}”代表一个对象,如{“AreaId”:”123”},对象的值是键值对的形式(key:value). “[]”,标识数组,数组内 ...

  3. [Javascript,JSON] JQuery处理json与ajax返回JSON实例

    转自:http://www.php100.com/html/program/jquery/2013/0905/5912.html [导读] json数据是一种经型的实时数据交互的数据存储方法,使用到最 ...

  4. (转)JQuery处理json与ajax返回JSON实例

    son数据是一种经型的实时数据交互的数据存储方法,使用到最多的应该是ajax与json配合使用了,下面我来给大家介绍jquery处理json数据方法. 一.JSON的一些基础知识. JSON中对象通过 ...

  5. javascript 解析ajax返回的xml和json格式的数据

    写个例子,以备后用 一.JavaScript 解析返回的xml格式的数据: 1.javascript版本的ajax发送请求 (1).创建XMLHttpRequest对象,这个对象就是ajax请求的核心 ...

  6. 11月15日下午 ajax返回数据类型为XML数据的处理

    ajax返回数据类型为XML数据的处理 /*XML:可扩展标记语言 HTML:超文本标记语言 标签:<标签名></标签名> 特点: 1.必须要有一个根 2.标签名自定义 3.对 ...

  7. 11月13日上午ajax返回数据类型为JSON数据的处理

    ajax返回数据类型为JSON数据的处理 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &qu ...

  8. Ajax在IE浏览器会出现中文乱码解决办法

    在AJAX浏览器来进行发送数据时,一般它所默认的都是UTF-8的编码. Ajax在IE浏览器会出现中文乱码的情况!解决办法如下 <script type="text/javascrip ...

  9. $.ajax返回的JSON格式的数据后无法执行success的解决方法

    近段时间做项目,在项目使用了ajax技术,遇到了一个奇怪的问题:"$.ajax返回的JSON格式的数据无法执行success",代码是这样写的: 1 $.ajax({ 2 .. 3 ...

随机推荐

  1. 【转载】C++ getline函数用法

    https://www.cnblogs.com/xiaofeiIDO/p/8574042.html 摘要: 通过getline()函数一个小小的实例,那么把getline()函数作为while的判断语 ...

  2. JDK8新特性01 Lambda表达式01_设计的由来

    1.java bean public class Employee { private int id; private String name; private int age; private do ...

  3. 20155324 2016-2017-2 《Java程序设计》第1周学习总结

    20155324 2016-2017-2 <Java程序设计>第1周学习总结 教材学习内容总结 1.1.1 前世今生 Java最早是Sun公司绿色项目Green Project中撰写Sta ...

  4. 百度地图web api使用案例

    效果如下: 1.获取位置的经纬度: 如坐标:114.110033,22.541098 获取经纬度: http://api.map.baidu.com/lbsapi/getpoint/index.htm ...

  5. MFCC/Filter Bank的提取流程

    预加重:通过一个一阶有限激励响应高通滤波器,使信号的频谱变得平坦,不易受到有限字长效应的影响. 分帧:根据语音的短时平稳特性,语音可以以帧为单位进行处理,实验中选取的语音帧长为32ms,帧移为16ms ...

  6. GridsearchCV调参

    在利用gridseachcv进行调参时,其中关于scoring可以填的参数在SKlearn中没有写清楚,就自己找了下,具体如下: parameters = {'eps':[0.3,0.4,0.5,0. ...

  7. java时间计算

  8. linux C遍历目录下文件

    参考链接: http://blog.sina.com.cn/s/blog_626b7339010161tr.html

  9. day 3 - 2 数据类型练习

    1.有变量 name = " aleX leNB " 完成如下操作 name = " aleX leNB " # 1) 移除两端空格n1 = name.stri ...

  10. CSL 的字符串(单调栈)

    题目链接:https://ac.nowcoder.com/acm/contest/551/D 题目大意: 题目描述 CSL 以前不会字符串算法,经过一年的训练,他还是不会……于是他打算向你求助. 给定 ...