java虚拟机安卓版apk后台接受参数乱码

一、get请求中的中文乱码问题:
&input type="text" name="username"&
&input type="submit" value="提交"&
String username = request.getParameter("username");
String name = URLEncoder.encode(name,"iso-8859-1");
username = URLDecoder.decode(name,"utf-8");
String username = request.getParameter("username");
username = new String(username.getBytes("iso-8859-1"),"utf-8");
二、 post请求
以上的方法,在post请求中一样可以用
在post请求中的另外的处理编码的方式
在接收参数前,设置下请求体的编码格式即可
request.setCharacterEncoding("utf-8")
这句代码是转么针对请求体的数据进行编码处理,而在get请求中是不存在请求体的,post请求中,所有的请求参数都是封装在请求体中的,所以post中,可以通过这句代码,直接解决参数编码问题。
【okhttp】Post请求设置utf-8编码(解决汉语请求乱码问题)
Post请求设置utf-8编码(解决汉语请求乱码问题)
在开发一个完整的web项目时,总是会遇到各种各样的中文乱码问题,例如页面显示乱码,表单提交乱码,数据库存储乱码等
等,虽然目前也能找到各种各样的解决方案,但是大部分都没有总结全面。(...
在学习javaweb过程中由于软件设计者都是外国人,他们所支持的编码都是ISO8859-1对于我们中国人来讲必须是中文,所以我们一般使用的编码就是utf-8或者GBK,然而开发工具都是用ISO8859...
参考自《深入分析Java Web技术内幕》 许令波 著
一、现象描述以get方式提交含中文表单,后台接收为乱码:
中文问题一直是很多人难以解决的问题。特别是从前台传到后台之后,都不知道问题出在哪里了。现在给出几种解决的方法。
tomcat的自带编码是ISO-8859-1的格式,是不兼容中文的编码的。所以...
Java Web中常见乱码问题的分析与解决
get请求参数乱码
post请求参数乱码
同时处理Get和Post两种提交方式的编码问题
服务器发送给浏览器的乱码问题
在jsp页面中,中文显示乱码...
没有更多推荐了,博客分类:
在使用response.sendredirect(url)进行重定向时,遇到中文字符,如果不做任何处理,则在后台无法得到正确的中文字符,为了解决这一问题,今天尝试了好多次方法,这里记录一下我实测通过的方法:
使用response.sendredirect()时的处理
String encoder = "gb2312";
String s = URLEncoder.encode("中国必胜",encoder);
String url = Util.newPath+"/getDemandListInter.do?s="+s;
response.sendRedirect(url);
接收端的处理:
String s = new String(request.getParameter("s").getBytes("iso-8859-1"));
浏览器端使用的编码风格是iso-8859-1,所以才会出现这种错误,转换一下啦~~终于搞定了,么么哒!
ps:由于使用时的代码不在我这里,也没有做更多的尝试,使用时的代码或许可以精简也不一定,尝试ok的朋友,欢迎留言,互相学习啦~~
浏览: 22971 次
女朋友在搞 临时学习 以便今后支援 作为helloworld挺 ...
ray_linn 写道好多概念性的错误....小孩子玩玩泥巴而 ...
好多概念性的错误....小孩子玩玩泥巴而已。
楼主啥公司
真是无语了。。。。
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'spring mvc 框架URL接收中文参数的乱码解决方案_博客_coding云
spring mvc 框架URL接收中文参数的乱码解决方案
16360次阅读 |
关于部署到tomcat的java&web项目中文乱码的问题着实不少,最近解决了这方面的问题后小有体会,今天分享给大家。
当访问带中文参数的url,或者提交get方法到后台包含中文参数的时候,可能后台接收到的是乱码,比如访问这个地址:
http://www.codingyun.com/tag/框架实例
后台可能就会出现乱码,具体解决方案如下:
配置tomcat目录下的service.xml文件
tomcat7/conf/server.xml
给该行代码加上 URIEncoding="UTF-8" 的编码属性
&Connector port="8080" protocol="HTTP/1.1"
&&&&&&&&&&&&&& connectionTimeout="20000"
&&&&&&&&&&&&&& redirectPort="8443" URIEncoding="UTF-8" /&
这样配置后,tomcat接收url请求后就会以utf-8解码传递的中文参数,也就能解决乱码问题
在controller接收参数时,对参数进行转码
@RequestMapping(value="/{tag}")
public String getArticleListByTag(HttpServletRequest request, @PathVariable String tag, QueryCondition queryCondition) throws Exception{
tag = new String(tag.getBytes("ISO-8859-1"), "UTF-8");
logger.info("tag: " + tag );
这样的话,后台接收中文参数后就会将ISO-8859-1的编码格式转码为UTF-8形式,也能解决乱码问题。
其实乱码问题出现的原因,就是由于默认的tomcat配置,接收请求是以ISO-8859-1来转码,导致中文出现了乱码问题,只要能正确的以utf-8来转码,则可以解决乱码问题。
(转载本站原创文章请注明作者与出处)
这篇文章帮我解决问题了,我忍不住的想点赞!!!
同时也想小小的打赏一笔表示感谢。
已经有115位老爷赞赏了本文
打赏方式一:
打开支付宝,使用“扫一扫”打赏。
打赏方式二:
打开微信,使用“扫一扫”打赏。
点击查看详情博客分类:
在使用get提交,url传递参数的时候,会带来中文乱码的问题,对此可以使用js编码来解决。
Js编码的几种方式区别:
1.window.escape()与HttpUtility.UrlEncodeUnicode()编码格式一样:将一个汉字编码为%uxxxx格式 不会被window.escape编码的字符有:@ _ - . * / +
这与http://www.w3school.com.cn/js/jsref_escape.asp上的解释不符合
2.window.encodeURIComponent()与HttpUtility.UrlEncode()编码格式一样:将一个汉字编码为%xx%xx%xx的格式
不会被window.encodeURIComponent编码的字符有:'
这与http://www.w3school.com.cn/js/jsref_encodeURIComponent.asp解释相符合
不会被HttpUtility.UrlEncode编码的字符有:'
! 相比较而言,HttpUtility.UrlEncode比window.encodeURIComponent多一个 ~ 编码
3.不会被window.encodeURI编码的字符有: -
#,与encodeURIComponent对比,发现encodeURI不对:;/?:@&=+$,#这些用于分隔 URI 组件的标点符号进行编码
后台java解码:
name = java.net.URLDecoder.decode(name,"UTF-8");//需处理异常
正常的操作下来发现还是有乱码问题!
因为在对后台java程序里的searchtext赋值的时候,本身已经使用了一次解码,不过解码的结果依然不对.
解决办法:可以在页面上进行两次编码操作,这样后台自动的那次就可以抵消掉一次,然后在使用
name = java.net.URLDecoder.decode(name,"UTF-8");//需处理异常
代码如下:
JavaScript:
window.self.location="searchbytext.action?searchtext="+encodeURIComponent(encodeURIComponent(seartext));
searchtext=java.net.URLDecoder.decode(searchtext,"UTF-8");/*需要处理异常*/
另外还有一种方法是JavaScript进行一次编码,后台java处理时换种想法就好了:
java代码:
String s = new String(request.getParameter("name").getBytes("ISO8859-1"), "UTF-8");
浏览: 24838 次
来自: 上海
写得不错,可以看这里,和这里的这篇文章一起看,有在线实 ...
e=x-small]小字体文字[/size]e=x-small ...
房改房好地方
之前就是js对中文编码处理,只encode 一次,后台怎么转都 ...
javatozhang 写道lz看了你的博文我照着做了,为何会 ...
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'java接受GET请求的中文出现乱码_百度经验
&&&&&&互联网java接受GET请求的中文出现乱码听语音
百度经验:jingyan.baidu.com在本地接受中文的时候,出现了乱码,于是转码,好了,可把代码发布到线上,又出现了乱码百度经验:jingyan.baidu.com1本地出现乱码的时候,就用下列的方法转了以下码:destination=new&String(destination.getBytes(&iso8859-1&),&utf-8&);2代码发到到线上,又出现了乱码, 把转码去掉就好了。请求的都是UTF-8的编码。于是用下列方法,获取一下java文件的编码System.getProperty(&file.encoding&)&结果:本地:GBK线上:UTF-83这样就可以解释,为什么本地需要转码(因为本地是GBK),而线上不需要转码了(因为线上是UTF8)。可线上代码和本地代码是一样的呀4于是从web服务器tomcat入手.对比了线上和线下,tomcat的配置文件web.xml 和 server.xml在server.xml中发现了一些区别,线上的有URIEncoding=&UTF-8&&,而本地的没有,在本地的server.xml加上这个,重启tomcat就好了,如下图5原来:这个乱码的原因也是tomcat的内部编码格式iso8859-1导致。Tomcat会以get的缺省编码方式iso8859-1对汉字进行编码,编码后追加到url,导致接受页面得到的参数为乱码。要想影响这个编码则需要在server.xml的Connector节点增加URIEncoding=&UTF-8&END经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。投票(1)已投票(1)有得(0)我有疑问(0)◆◆说说为什么给这篇经验投票吧!我为什么投票...你还可以输入500字◆◆只有签约作者及以上等级才可发有得&你还可以输入1000字◆◆如对这篇经验有疑问,可反馈给作者,经验作者会尽力为您解决!你还可以输入500字相关经验000222热门杂志第1期你不知道的iPad技巧3833次分享第1期win7电脑那些事6675次分享第2期新人玩转百度经验1425次分享第1期Win8.1实用小技巧2670次分享第1期小白装大神1963次分享◆请扫描分享到朋友圈}

我要回帖

更多关于 java文件乱码 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信