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 ...
随机推荐
- maven构建项目时硬编码中文乱码问题解决
场景:1. 项目采用maven作为构建工具.2. 前端页面为jsp,由前端团队独立完成,添加编码配置:<%@ page contentType="text/html;charset=u ...
- windows10 下使用Pycharm2016 基于Anaconda3 Python3.6 安装Mysql驱动总结
本文记录:在PyCharm2016.3.3 中基于Anaconda3 Python3.6版本安装Python for Mysql驱动.尝试了安装Mysql-Connector成功,但是连接数据库时驱动 ...
- vue 移动端日期选择组件 vue-mobile-calendar
vue-mobile-calendar cnpm install vue-mobile-calendar -S import Vue from 'vue' import Calendar from ' ...
- 第26月第23天 nsobject 单例 CFAbsoluteTimeGetCurrent
1.nsobject 单例 sudo chmod 666 /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/ ...
- 第26月第3天 java gradle
1. 430 /Applications/Android\ Studio.app/Contents/gradle/gradle-2.8/bin/gradle -v 434 mkdir gradle01 ...
- 自己对Java的一点看法
作为一个理论性比较强的学生,谈一下这段时间对java以及对程序设计的理解 java相对于其它语言有几个特点,一个是面向对象,一个是强类型 首先谈谈面向对象,关于类和对象,这个一定要 ...
- 域scope 介绍,及查找数据
书中介绍<jsp:useBean> 中属性 scope: <%@ page language="java" pageEncoding="UTF-8& ...
- Create Extraction Zone
添加C++类,名称为FPSExtractionZone 添加盒体组件,进行公开处理,并设置为随处可见 UPROPERTY(VisibleAnywhere,Category="Componen ...
- python - 文件系统和文件
文件系统和文件 文件系统是os用于明确磁盘或分区上的文件的方法和数据结构--即在磁盘上组织文件的方法 计算机文件,是存储在某种长期储存设备或临时存储设备中的一段数据流,并且 ...
- 音乐app各部分笔记(一)
7-11 播放器播放时间获取和更新 1.audio 有一个 ontimeupdate事件 播放过程中 随时触发 vue里面就是 @timeupdate 事件中有默认参数 e 通过e.targe ...