此文为应用中遇到字符串编码转换问题网上找资料解决问题记录笔记,工作中经常会遇到类似问题,在此记录备忘,后续再进行整理。
jquery serialize方法中文乱码及解决办法
http://blog.csdn.net/xiao2shiqi/article/details/8438019
jquery form表单.serialize()序列化后中文乱码问题原因及解决
原因:.serialize()自动调用了encodeURIComponent方法将数据编码了
解决方法:调用decodeURIComponent(XXX,true);将数据解码
例如:
var params = jQuery("#formId").serialize(); // http request parameters.
params = decodeURIComponent(params,true);
在进行编码
params = encodeURI(encodeURI(params));
后台
String paramsTrans = new String(params.getBytes("ISO-8859-1"),"UTF-8");
params = java.net.URLDecoder.decode(paramsTrans , "UTF-8");
问题解决。
----------------------------------------------------------------------------------------------------------------------------------
注意:页面端发出的数据作两次encodeURI,这个做的好处在于,不管浏览器用户在页面来设置编码,服务器所采用的编码来做一次URLencode转换成UTF-8.
encodeURL函数主要是来对URI来做转码,它默认是采用的UTF-8的编码.
具体说明2次encodeURI:
其中具体的原理分析如下,假设页面端输入的中文是一个“中”,按照下面步骤进行解码
1.第一次encodeURI,按照utf-8方式获取字节数组变成[-28,-72-83],对字节码数组进行遍历,把每个字节转化
成对应的16进制数,这样就变成了[E4,B8,AD],最后变成[%E4,%B8,%AD]
2.第二次encodeURI,把数组最后变成[%25E4,%25B8,%25AD]然后就把处理后的数据[%25E4,%25B8,%25AD]
发往服务器端,当应用服务器调用getParameter方法,getParameter方法会去向应用服务器请求参数
应用服务器最初获得的就是发送来的[%25E4,%25B8,%25AD],应用服务器会对这个数据进行URLdecode操作,
URldecode操作和encodeURL操作是相反的操作,处理结果就是[%E4,%B8,%AD],并把这个值返回
给getParameter方法
然后再在服务器端中调用相应的URL转码方法或者是函数 就可以把数据还原成最初页面发送过来的中文“中”了。
java字符串应用之字符串编码转换
http://blog.csdn.net/zhouyong80/article/details/1900100
无论是对程序的本地化还是国际化,都会涉及到字符编码的转换的问题。尤其在web应用中常常需要处理中文字符,这时就需要进行字符串的编码转换,将字符串编码转换为GBK或者GB2312。
一、关键技术点:
1、当前流行的字符编码格式有:US-ASCII、ISO-8859-1、UTF-8、UTF-16BE、UTF-16LE、UTF-16、GBK、GB2312等,其中GBK、GB2312是专门处理中文编码的。
2、String的getBytes方法用于按指定编码获取字符串的字节数组,参数指定了解码格式,如果没有指定解码格式,则按系统默认编码格式。
3、String的“String(bytes[] bs, String charset)”构造方法用于把字节数组按指定的格式组合成一个字符串对象
分享到:
相关推荐
前后台字符集转码.txt
json数据交互时作为校验是否通过,用于后台需要构建json返回前台必备
js处理java后台传过来的date对象并转换成指定格式的字符串,亲测可用
把多个权限值生成一个字符串,增加多个权限而不会影响之前的权限字符串。 如:旧的权限字符串为“4,5,12” 当增加权限后字符串前面不会改变"4,5,12,54,2" 附有例子,源码。方便做网站后台权限的管理
亲测可用。前后端,通过代码生成加密和解密。javascript可以解密和加密,反之,后端java代码可以加密和解密。包中有详细说明和例子代码。保证可以正确运行。
前后台实现精确截取指定长度字符串(考虑全角半角)前后台实现精确截取指定长度字符串(考虑全角半角)前后台实现精确截取指定长度字符串(考虑全角半角)前后台实现精确截取指定长度字符串(考虑全角半角)
java后台java后台;java后台;java后台
web应用中,客户端和服务器端需要交换信息,字符串形式的信息交互是...如果字符串中有中文,客户端在信息发送前需要把它转换为字节数组,转换的时候需要采用指定的编码。 本文提供的方法不需要指定编码,是通用的方法。
xml数据前后台解析;提供了两种方式:dom4j与jdom对xml文件、xml字符串的读与写操作;同时实现在前台用jquery解析xml,将数据展示在页面上,程序可以跑
用于js或者java后台截取字符串方法,有效
java web 前后台 各种技术的tomcat7.0版本,需要的直接下载就行。
善筹网(众筹)前后台-善筹网(众筹)前后台系统-善筹网(众筹)前后台系统源码-善筹网(众筹)前后台管理系统-善筹网(众筹)前后台管理系统java代码-善筹网(众筹)前后台系统设计与实现-基于springboot的善筹网...
基于 java EE .Java权限后台管理系统.pdf基于 java EE .Java权限后台管理系统.pdf基于 java EE .Java权限后台管理系统.pdf基于 java EE .Java权限后台管理系统.pdf基于 java EE .Java权限后台管理系统.pdf基于 java ...
Java游戏后台开发.zipJava游戏后台开发.zipJava游戏后台开发.zip Java游戏后台开发.zipJava游戏后台开发.zipJava游戏后台开发.zip Java游戏后台开发.zipJava游戏后台开发.zipJava游戏后台开发.zip Java游戏后台开发....
Java宠物医院前后台系统,使用技术 SpringBoot(2.2.7)+MySQL+Thymeleaf+Shiro+WebSocket+BootStrap4+Log4J。前台显示医院文化信息,可在线挂号,在线预约,在线查看专家信息和宠物常见病治疗方法,可充值享受专家1v1...
微信商城 小程序 前后台源码 Java后台 ssm框架+MySQL 毕业设计 前后台源码
实现 XML字符串转VO对象的实现 1.0:标签读取,属性读取,List类型标签实现 以下是 测试说明 原XML: <?xml version="1.0" encoding="UTF-8"?> <HEADER NAME="HEADERname" name_cn="头名称">标签text...
主要介绍了Java Base64位编码与String字符串的相互转换,Base64与Bitmap的相互转换实例代码,非常不错,具有参考借鉴价值,需要的朋友可以参考下
善筹网(众筹)前后台-善筹网(众筹)前后台系统-善筹网(众筹)前后台系统源码-善筹网(众筹)前后台管理系统-善筹网(众筹)前后台管理系统java代码-善筹网(众筹)前后台系统设计与实现-基于springboot的善筹网...