【技术贴】解决前台js传参中文乱码
方法1:
前台两次编码,后台一次解码。因为getParamet已经自动解了一次了。
JavaScript:
window.self.location="list.jsp?searchtext="+encodeURIComponent(encodeURIComponent(seartext));
java:
searchtext=java.net.URLDecoder.decode(searchtext,"UTF-8");
方法2:
另外还有一种方法是JavaScript进行一次编码,后台java处理时换种想法就好了:
JavaScript:
window.self.location="list.jsp?searchtext="+encodeURIComponent(seartext);
java代码:
String s = new String(request.getParameter("name").getBytes("ISO8859-1"), "UTF-8");
两种方法都很实用,我以前一直是用第二种方法。现在学到了第一种方法,总结一下两种方法的用处,第一种,前台两次转码,后台一次解码适合用于utf-8编码系统和GBK系统编码项目之间的跳转。第二种全部都适合。推荐使用第二种,前台处理比较简单。后台也比较简单。但是extjs下面使用encodeURIComponent()方法进行编码后,可能会有个别汉字在java服务器端处理的时候丢失的现象(比如‘系统管理员’五个字,到后台使用第二种办法new String的那种,就会发现丢失最后一个‘员’字),换用第一种办法后,此现象消失。所以第二种办法先用,出现问题了就换第一种。
基本原则就是前台两次转码,后台一次转码。
前台js -- UrlEncoding() * 2
后台java -- Decode *1
【技术贴】解决前台js传参中文乱码的更多相关文章
- JS传参中文乱码
在传参的时候给中文参数加上两个encodeURI即可,类似这样: encodeURI(encodeURI(balanceUnit)) 写法二 escape(encodeURI(tmplItem.hyz ...
- JS传参中文乱码问题.NET
前台js代码 window.location.href = "/product.aspx?id=2&title=" +encodeURIComponent(strtitle ...
- 解决JS传参中文乱码
function PopupFK(cNum,type){ var url = "contract!Paying.action"; url = url + "?contra ...
- 关于url传参中文乱码问题
之前都一直很不了解中文编码得问题,之前在做项目中没碰到那么头痛的问题.所以一直没有了解中文乱码的问题. 问题描述: 地址: http://localhost:8080/sun-government/c ...
- url传参中文乱码解决
url传参request.setCharacterEncoding("utf-8");无法解决中文乱码问题 解决方法: 修改tomcat---conf----server.xml文 ...
- URL传参中文乱码的一种解决方法
中文乱码是由于,发送和接收方使用的编码解码格式不一致导致,以下是关于url传参解决中文乱码的一种方法,最后根据各种编码格式尝试解码,发现正确的解码格式 string strQueryString = ...
- [转]IE、FireFox、Chrome浏览器中关于URL传参中文乱码,解决兼容性问题!
原文地址:https://cloud.tencent.com/developer/article/1334736 前台用url传值中文,后台用request.getParameter接收参数.在Fir ...
- get请求中url传参中文乱码问题
在项目中经常会遇到中文传参数,在后台接收到乱码问题.那么在遇到这种情况下我们应该怎么进行处理让我们传到后台接收到的参数不是乱码是我们想要接收的到的,下面就是我的一些认识和理解. 一:get请求url中 ...
- get请求中url传参中文乱码问题--集锦
一:get请求url中带有中文参数,有三种方式进行处理防止中文乱码 1.如果使用tomcat作为服务器,那么修改tomcat配置文件conf/server.xml中,在 <Connector ...
随机推荐
- ssl https服务 需要 php5.3以上
php 5.2 升级 5.3 http://wdlinux.cn/bbs/viewthread.php?tid=37512&highlight=5.3 默认的升级不支持 pdo 升级前编辑升级 ...
- android 38 Abdroid客户端和服务端交互
服务端: package com.sxt.day05; import java.io.IOException; import java.util.ArrayList; import javax.ser ...
- valgrind 打印程序调用树+进行多线程性能分析
使用valgrind的callgrind工具进行多线程性能分析 yum install valgrind / wget http://valgrind.org/downloads/valgrind-3 ...
- [转] 「指尖上的魔法」 - 谈谈 React Native 中的手势
http://gold.xitu.io/entry/55fa202960b28497519db23f React-Native是一款由Facebook开发并开源的框架,主要卖点是使用JavaScrip ...
- block没那么难(三):block和对象的内存管理
本系列博文总结自<Pro Multithreading and Memory Management for iOS and OS X with ARC> 在上一篇文章中,我们讲了很多关于 ...
- 第四篇:python基础之dict、set及字符
python基础之dict.set及字符 python基础之dict.set及字符串处理 本节内容 字典介绍及内置方法 集合介绍 字符串处理 1.字典介绍及内置方法 字典是python中唯一的映射 ...
- webservice 发布到外网的时候
在web.config的<system.web></system.web>中间加入如下配置节内容<webServices> <protoco ...
- hibernate中有时候复杂删除有时候可以拆分为两个语句
这个demo是使用原生的sql语句写的,也就是没有调用我在struts中已经写好的公用类common中的增删改查功能,所以要开启事务
- Java中JIN机制及System.loadLibrary() 的执行过程
Android平台Native开发与JNI机制详解 http://mysuperbaby.iteye.com/blog/915425 个人认为下面这篇转载的文章写的很清晰很不错. 注意Android平 ...
- Android Cursor类的概念和用法
http://www.2cto.com/kf/201109/103163.html 关于 Cursor 在你理解和使用 Android Cursor 的时候你必须先知道关于 Cursor 的几件事情: ...