中文字符串显示乱码-java前端jquery接接收中文字符串乱码问题

问题描述

java前端jquery接接收中文字符串乱码问题

服务端:@RequestMapping(value="/detail/modSelect", method = {RequestMethod.POST})
public @ResponseBody String mod(@RequestBody String reqParam){
//修改请求处理
System.out.println("修改请求发送到此");
System.out.println(reqParam);
ExpressLineInfo lineInfo = new ExpressLineInfo();
String[] str = reqParam.split("&");
String areaId = str[0].split("=")[1];

String neiAreaId = str[1].split("=")[1];
int distance = Integer.parseInt(str[2].split("=")[1]);
String direct = str[3].split("=")[1];
int hot = Integer.parseInt(str[4].split("=")[1]);

    lineInfo.setAdcd(areaId);
    lineInfo.setDirect(direct);
    lineInfo.setDistance(distance);
    lineInfo.setScope_adcd(neiAreaId);
    lineInfo.setScope_hot(hot);
    int result = regionInfoService.updateScope(lineInfo);
    if(result==1){
        return "修改成功!";
    }else{
        return "修改失败!";
    }
}

前端jquery: $.post("/detail/modSelect.htm",
"areaId="+areaId+"&neiAreaId="+neiAreaId+"&distance="+distance+"&direct="+direct+"&hot="+hot,
function(data,statusText){
alert(data);
});
回掉函数里的data即为服务端返回的中文字符串,用alert在页面输出后显示为????!
返回英文则是正常的。
求高手帮忙解答,如何让它显示正常的中文,感激不尽!

解决方案

ajax 同步调用 返回字符串 java例子(全)及 从后台返回中文乱码解决方法

解决方案二:

服务端需返回 utf-8 编码数据
如返回的不是 utf-8 的,需加上相应语言声明的头

具体代码要看你的服务端语言

解决方案三:

用UTF8编码,然后获取的时候用UTF8解码

解决方案四:

服务器端采用URLEncoder.encode(str, "utf-8");进行编码

前端采用decodeURIComponent(data);进行解码

解决方案五:

前台页面编码跟后台编码一致。

http://www.cnblogs.com/liuling/archive/2013/03/31/encoding.html

时间: 2024-11-01 21:07:33

中文字符串显示乱码-java前端jquery接接收中文字符串乱码问题的相关文章

java读取pdf乱码-java读取pdf文件出现中文乱码

问题描述 java读取pdf文件出现中文乱码 代码如下,读取pdf文件时,出现中文字符乱码的情况,求大神解决.. package read; import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream; import com.linuxense.javadbf.DBFField;import com.linuxense.javadbf.DBFReader; public class re

java中文乱码-java开发前端ftl页面上传一个中文的字段到java后台变成乱码!

问题描述 java开发前端ftl页面上传一个中文的字段到java后台变成乱码! 有没有比在后台写一些转换格式的代码更简单的方式?是不是我哪里的格式没有设置好? 解决方案 找到答案了.原来是我tomcat的编码格式没有设置成utf-8. 解决方案二: ftl文件默认的编码格式是GBK的,但是它输出的编码格式是utf-8的.中文就会显示乱码.在改变ftl文件的编码格式之前,将页面整个copy到txt文档中,然后改变编码格式之后,再将txt文件中的内容复制到原来的文件中. 解决方案三: 客户端 编码格

jdbc-数据在数据库中查询显示是中文,输出到页面转换为utf-8之后,输出为乱码,求解

问题描述 数据在数据库中查询显示是中文,输出到页面转换为utf-8之后,输出为乱码,求解 <%@page import="java.sql.ResultSet"%> <%@page import="java.sql.Statement"%> <%@page import="java.sql.DriverManager"%> <%@page import="java.sql.Connection&

使用Jquery+Ajax+Json如何实现分页显示附JAVA+JQuery实现异步分页_AJAX相关

先给大家展示下运行效果图:  1.后台action产生json数据. List blackList = blackService.getBlackInfoList(mobileNum, gatewayid, startDate, endDate); int totalRows = blackList.size(); StringBuffer sb = new StringBuffer(); sb.append("{\"totalCount\":\""+to

使用Jquery+Ajax+Json如何实现分页显示附JAVA+JQuery实现异步分页

先给大家展示下运行效果图: 1.后台action产生json数据. List blackList = blackService.getBlackInfoList(mobileNum, gatewayid, startDate, endDate); int totalRows = blackList.size(); StringBuffer sb = new StringBuffer(); sb.append("{\"totalCount\":\""+tot

如何解决JQuery ajaxSubmit提交中文乱码

一般人使用是 jQuery(form).ajaxSubmit({ url: "ajaxsub.aspx?abc=test", type: "post", dataType: "json", success: data }); 分析:JQuery的AJAX提交,会将要提交的数据进行编码,使用encodeURIComponent在js中处理数据.因此,无论是 Firefox或者IE,提交的数据都是一致的,都是UTF-8编码后的数据. 查看Header

jquery ajax传递中文参数乱码问题及解决方法说明

 本篇文章主要是对jquery ajax传递中文参数乱码问题及解决方法进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 jQuery传递中文参数乱码,原因是默认的传递方式没有采用UTF-8,所有我们可以在传递参数的时候对参数进行编码,然后再操作,代码如下,红色的代码为传递的参数,已标注    代码如下: smsubmitclick = function(){    $(document).ready(function(){        var name = $("#txt_name&q

c语言-C编程输出中文为什么显示乱码

问题描述 C编程输出中文为什么显示乱码 从词典文件中读取数据,输出的时候为什么显示乱码? 代码如下: #include 2 #include 3 4 int main() 5 { 6 FILE *fp = fopen("text.txt","r"); 7 char english[32],chinese[64],attribute[8]; 8 int i=0,j=0,k=0; 9 int flag_null = 0, flag_p = 0; 10 while(!fe

android工程输出中文乱码 Java工程正常

问题描述 android工程输出中文乱码 Java工程正常 新建android工程用EditText输入数据,异或加密输出,输出中文为乱码,新建Java工程输出正常,跪求大神指点.百度都快翻烂了./(ㄒoㄒ)/~~ 解决方案 你输出密文时没有指定解码格式?android和java工程默认使用的解码可能不同 解决方案二: 应该是项目制定的编码不同吧? 解决方案三: 转码试试看能正常么有可能是两面的编码格式不一样