ajax如何传中文参数乱码解决办法

传递中文参数,然后修改数据库教程的。

 代码如下 复制代码

<script>
var url="admin/ajaxmodify.php?"+key+"=";
 url+=encodeuricomponent(encodeuricomponent(value));
  xmlhttp.open("get",url,true);
  xmlhttp.send(null);
</script>
参数是中文encodeuricomponent这个方法必须调用两次
*/

function utf8rawurldecode ($source) {
  $decodedstr = "";
  $pos = 0;
  $len = strlen ($source);
  while ($pos < $len) {
  $charat = substr ($source, $pos, 1);
  if ($charat == '%') {
  $pos++;
  $charat = substr ($source, $pos, 1);
  if ($charat == 'u') {
  // we got a unicode character
  $pos++;
  $unicodehexval = substr ($source, $pos, 4);
  $unicode = hexdec ($unicodehexval);
  $entity = "&#". $unicode . ';';
  $decodedstr .= utf8_encode ($entity);
  $pos += 4;
  }
  else {
  // we have an escaped ascii character
  $hexval = substr ($source, $pos, 2);
  $decodedstr .= chr (hexdec ($hexval));
  $pos += 2;
  }
  } else {
  $decodedstr .= $charat;
  $pos++;
  }
  }
  return $decodedstr;
}

/*
注:js中,在使用字符转码的时候,推荐使用 encodeuricomponent() 或者 encodeuri(),而非escape()。原因在于,escape() 只是为 ascii字符 做转换工作,转换成的 %unnnn 这样的码,如果要用更多的字符如 utf-8字符库就一定要用 encodeuricomponent() 或 encodeuri() 转换才可以成 %nn%nn 这的码才可以。

js:encodeuricomponent —— decodeuricomponent;php: rawurlencode —— rawurldecode

*/

时间: 2024-09-20 08:50:30

ajax如何传中文参数乱码解决办法的相关文章

Js Url传中文参数乱码解决办法

解决方法如下:   1.在JS里对中文参数进行两次转码  代码如下 复制代码 var login_name = document.getElementById("loginname").value; login_name = encodeURI(login_name); login_name = encodeURI(login_name); 2.在服务器端对参数进行解码  代码如下 复制代码 String loginName = ParamUtil.getString(request,

WordPress上传中文附件乱码解决方法

熟悉PHP的朋友可能会很快解决问题,但不熟悉PHP代码的朋友看过此文章相信一定能解决你的问题,接下来就分享下我的解决wordpress上传中文文件名乱码的心得吧~: 找到/wp-admin/includes/file.php这个文件,并最如下修改:  代码如下 复制代码 function wp_handle_upload( &$file, $overrides = false, $time = null ) { //-. // Move the file to the uploads dir /

动态加载iframe时get请求传递中文参数乱码解决方法_javascript技巧

当用户的页面需要动态加载iframe 时, 如果iframe的src中包传中文参数会出现编码错误:必须加编码,然后再解码. 编码:encodeURI(encodeURI("包含中文的串")) 解码:java.net.URLDecoder.decode("需要解码的串","utf-8"); 解决方案 使用 encodeURI('中文') 进行编码操作, js代码: 复制代码 代码如下: $(function() { $('#frame').attr

jsp cookie存入中文值乱码解决办法

解决办法原因是: 使用java.net.URLEncoder.encode()可以对要传递的中文进行编码 a.在传参数之前先把参数进行转码:java.net.URLEncoder.encode(param); 取值时用语句java.net.URLDecoder.decode(param);再转回中文 例,设置cookie  代码如下 复制代码 <%  String str = "这是中文的cookie值";  Cookie c = new Cookie("str&quo

FlashFXP连接站点中文显示乱码解决办法

FlashFXP连接远程ftp时虽然不会影响到我们正常使用了,但是看起来也是非常的不爽的,于是就想办法来解决了了,我们知道只要是乱码就会有编码问题了,所以我觉得这个也是编码问题,我检查之后发现原因就是这些字符是utf-8编码,而windows下文件名是GBK编码.   FlashFXP中文显示乱码 现在我们在flashfxp中点击"选项->参数设" 但是没有找到,后来百度后找到解决办法,具体如下. 解决办法 打开:站点->站点管理器,选择相应的站点,然后选择高级选项,这里面

Ubuntu Server 10.04中文环境乱码解决办法

用vim配置语言环境变量  代码如下 复制代码 vim /etc/environment 改成:  代码如下 复制代码 LANG="en_US.UTF-8″ LANGUAGE="en_US:en" sudo vim /var/lib/locales/supported.d/local 改成  代码如下 复制代码 en_US.UTF-8 UTF-8 保存后,执行命令:  代码如下 复制代码 sudo locale-gen sudo vim /etc/default/locale

php中json_encode中文字符乱码解决办法

一.json_encode() 这个是一个对变量进行 JSON 编码常用的函数,但是当文本的格式不是utf-8时,中文的转码会出现一些问题,比如文本为gb2312的时候 示例  代码如下 复制代码 <?php $jsonText = array (  0 => array (   'id' => '1',   'name' => '文本1'  ),  1 => array (   'id' => '2',   'name' => '文本2'   ) ) ;   e

vim中文出现乱码解决办法

vim乱码解决方法: 只想改当前文件的编码方式的话,只需要在命令模式下输入:  代码如下 复制代码 :set encoding=utf-8 :set fileencoding=utf-8 在根目录下新建一个.vimrc文件,在里面写上  代码如下 复制代码 let &termencoding=&encoding set fileencodings=utf-8,gbk,ucs-bom,cp936 或者找到文件.vimrc后,将下面代码加入即可: """"

Mac os的压缩zip文件在windows系统下打开中文文件名乱码解决办法

从mac下压缩的文件通过邮件发送过来,在windows下打开后发现乱码,和里面对应的文件夹的文件目录也发生变化 实际问题就是文件编码的问题 mac 下默认是UTF-8 而已,windows下默认是GBK 解决办法: 1.改变文件名为xx.zip 为xx.rar 2.用新版WinRAR(5.0) 以上版本直接解压即可 注: 1.用的2345好压 直接解压不能解决此文件, 2. 可以通过设置2345好压 的代码页 为UTF-8 来解压即可 (预览的时候还是乱码),不过解压出来就都正常了