java web url编码与解码--中文乱码和特殊字符转义问题
来源:互联网 发布:手绘软件sai下载 编辑:程序博客网 时间:2024/05/21 09:09
一:前端编码 后端解码 解决中文乱码问题
前端字符串用js的encodeURI()编码 后端使用java.net.URLDecoder.decode(value, "utf-8");//utf-8为具体的字符编码格式可以是:gb2312或者iso-8859等等
二:后端编码 前端解码 解决html转义字符显示问题
后端使用java.net.URLEncoder.encode(value, "utf-8");//utf-8为具体的字符编码格式
前端使用js的decodeURIComponent()解码
特别说明:java后端将字符串编码的时候 把空格字符编码成'+'符号 而前端js函数decodeURIComponent()是解码不了的 故可能造成显示错误问题
而js的encodeURIComponent()函数会把空格编译成%20 所以decodeURIComponent()函数也会把'%20'解码为空格 故后端对'+'号特殊处理。
例如:
String str = "name = 'hah' and date_end ='9999-12-31 00:00:00.0' and str_dd in('555555','66666','9999','3333')";String enStr = URLEncoder.encode(str, "utf-8");
enStr = enStr.replaceAll("\\+", "%20");
编码和特殊处理'+'号的编码字符串后结果为:name%20%3D%20%27hah%27%20and%20date_end%20%3D%279999-12-31%2000%3A00%3A00.0%27%20and%20str_dd%20in%28%27555555%27%2C%2766666%27%2C%279999%27%2C%273333%27%29
前端js解码函数decodeURIComponent()处理后即得原始字符串值 这里解决html显示时对特殊字符的转义 会影响到数据展示问题。
三:若使用编码和解码方式都无法解决特殊字符显示和操作的可以选择对字符的unicode处理
即所有字符都转换为unicode码 前后端编解码处理 但是unicode码会造成文本串过长过大问题。。。
0 0
- java web url编码与解码--中文乱码和特殊字符转义问题
- URL中文转义和特殊字符处理
- URL编码与解码(特殊字符)
- Java字符的编码解码与乱码问题 Java字符的编码解码与乱码问题
- iOS 中的 url 中文和特殊字符编码问题
- url中中文字符编码和解码
- URL传参带特殊字符,js中对中文编码解码
- url特殊字符转义问题
- Java 特殊字符URL转义
- Java字符的编码解码与乱码问题
- 网址URL中特殊字符转义编码
- 网址URL中特殊字符转义编码
- 网址URL中特殊字符转义编码
- 网址URL中特殊字符转义编码
- java转义url中文字符
- URL中文乱码的问题,特殊字符的解决办法
- 关于URL传输中文和特殊字符的编码方法
- URL特殊字符转义
- Android Context导致的内存泄漏分析(示例代码+分析工具使用)
- git命令大全
- array与xml转换实现
- NYOJ - 23 - 取石子(一)(博弈论--巴什博弈)
- apache CXF wsdl2java工具的使用
- java web url编码与解码--中文乱码和特殊字符转义问题
- const 引用
- Android 7.0 R2 CTS总结
- 认识非阻塞的同步机制CAS
- Android Support Library的前世今生
- 大众点评团购退款的小伎俩,折射出全商金融的事实?
- 解决python+eric6+PyQt5生成对话框代码异常
- Hadoop Hive sql语法详解5--HiveQL与SQL区别
- hadoop hive的lzo总结