js中ajax 传递中文乱码问题解决办法

解决的办法是使用js的encodeURI函数,对传递的参数进行编码。

 代码如下 复制代码

var keywords=encodeURI(document.getElementById("suggestfilm").value);

 代码如下 复制代码

<script type="text/javascript">
        //var data=<%=data %>
    jQuery(document).ready(function ($) {
        $("ul.menu").dropmenu();
        var title = encodeURI('联系我们');
        $.ajax({
            type: "GET",
            url: "?title=" + title + "&value=TopicContent",
            //我们用text格式接收
            dataType: "application/x-www-form-urlencoded; charset=utf-8",
            data: "meth=load",
            success: function (msg) {
                alert(msg);
                //显示后台数据
                $(".contact").html(msg);
 
            }
        });
  
 
</script>

在后端的程序无需进行解码了,我们可以直接得到中文字符而不是乱码了。

时间: 2024-12-24 08:24:18

js中ajax 传递中文乱码问题解决办法的相关文章

escape函数解决js中ajax传递中文出现乱码问题_javascript技巧

本文实例讲述了escape函数解决js中ajax传递中文出现乱码问题,分享给大家供大家参考.具体方法如下: 一.问题描述: 本来网页特效中的escape()是将中文按iso-8859-1字符集进行url编码的,那样通过 request.getparameter()是能直接获取到请求参数的,但后来的javascript将escape()换成了unicode字符集编 码,如此一来,在jsp教程和servlet中就没法直接拿到请求参数了,具体原因我也不知道. 二.解决办法: 1.首先对中文字符进行两次

PHP URL传递中文乱码问题解决办法

在使用 ?id="中文" 传递中文参数时,出现了乱码,这是经过了二次转码后的结果,其中,在 php 中,url 中是不可以直接传输中文的,对于这点,一直心存不满,没办法呀,谁让咱没一套解决方案呢,不知道别的语言是不是也出现这样的问题. 对于网上所说的在首页添加 header("content-type:text/html;charset=utf-8″); 这样的代码,以及把数据库页面等等设置成 utf8 的解决方案根本无效,始终传递过来的中文是乱码. 尽管所有 04ie.co

smarty截取中文乱码问题解决办法

smarty截取中文乱码问题解决办法 本文章提供了三款smarty截取中文乱码问题解决办法,关于乱码主要是在中文汉字中的处理了,我们利用了uft-8,gb2312等字符内码机制来截取字符串. */ function smarty_modifier_utruncate($string, $length = 80, $etc = '...',                                     $break_words = false, $middle = false)   { 

Docker容器 日志中文乱码问题解决办法_docker

Docker容器 日志中文乱码问题解决办法 1. 找到dockerfile文件, 如 /use/local/src/Docker/Dockerfile 2. 编辑Dockerfile 添加 ENV LANG en_US.UTF-8 ENV LANGUAGE en_US:en ENV LC_ALL en_US.UTF-8 3. 生成新的镜像文件 docker build -t centos7 . 4. 使用docker images查看新生成的镜像 5. 使用新的镜像启动容器 docker run

常见php与mysql中文乱码问题解决办法_Mysql

乱码问题1:用PHPmyAdmin操作MySQL数据库汉字显示正常,但用PHP网页显示MySQL数据时所有汉字都变成了?号. 症状:用PHPmyAdmin输入汉字正常,但当PHP网页显示MySQL数据时汉字就变成了?号,并且有多少个汉字就有多少个?号. 原因:没有在PHP网页中用代码告诉MySQL该以什么字符集输出汉字. 解决方法: 1.网页文件head设置编码<meta http-equiv="Content-Type" content="text/html; cha

python在eclipse下中文乱码问题解决办法

关于编辑环境编码 首先要确保eclipse编辑器环境的编码为utf8,这个是大前提:其次如果py文件中含有中文字符的话,需要在py文件 中对编码进行声明. 1. 修改eclipse编辑器编码 a) window->preferences->general->editors->text editors->spelling->encoding->UTF-8 b) window->preferences->workspace->text file en

php写入mysql中文乱码问题解决办法

php中关于mysql的操作非常简单,然而最近在做一个小工具的时候发现php写入mysql的数据库中出现了中文字符的乱码,这个乱码的问题纠结了我好久,明明英文字符写入正常,但是中文就是乱码! 一开始我感觉是我建立mysql数据库的时候没有设置UTF-8字符集,然而后来我发现即使我设置了这个字符集还是不能解决问题,写入mysql的字符串照样乱码. 解决这个问题其实很简单. 1.在建表的时候设置编码类型为gb2312_chinese_ci. 2.在PHP页面的数据库连接语句加一行mysql_quer

jsp get Url请求方式中文乱码问题解决办法

jsp中post方式请求一般不会乱码,如果乱码加上这句: 解决办法一    代码如下 复制代码 request.setCharacterEncoding("utf-8"); 而get方式请求,若url含非西欧编码必然会乱码,处理方式:  代码如下 复制代码 request.setCharacterEncoding("utf-8"); //将请求参数使用ISO-8859-1分解成字节数组,再将字节数组解码成字符串  代码如下 复制代码 String name = ne

ajax+php中文乱码解决办法_AJAX相关

AJAX的乱码的出现在的原因 由于XMLHTTP采用的是Unicode编码上传数据,而一般页面采用的是gb2312,这就造成显示页面时产生乱码.而当在获取页面时的XMLHttp返回的是utf-8编码,这就造成了显示产生乱码. 解决方法之一就是在PHP文件中显示声明为GB2312 header("Content-Type:text/html;charset=GB2312");  而对于发送到服务器的中文进行转码. 如下 $_POST["content"]=iconv(