java.net.Decoder 配合java.net.Encoder使用解决url参数中文乱码问题【2014-11-17】

1、解码规则

//解释一下:解码规则对应着编码规则,类似对称加密算法

//解码规则:1、数字和字母保持原样;

2、“.”、“-”、"_"、"*"保持原样;“+”号解码为“ ”(空一格字符串);

3、%xy根据解码编码进行解码;

2、解码方法

//解释一下:解码方法和编码方法差不多

//2个方法:decode(String s)和decode(String s,String enc)

//decode(String s)不推荐使用,因为它以平台默认的编码方式进行解码,依赖平台

//decode (String s,String enc)推荐使用,用编码对应的编码方式进行解码,w3c联盟建议编码和解码都是用UTF-8

以上是我解决url参数中带有中文的方法!

下面给出乱码和正确的截图:

乱码:

正确:

时间: 2024-10-07 19:33:01

java.net.Decoder 配合java.net.Encoder使用解决url参数中文乱码问题【2014-11-17】的相关文章

JAVA压缩 解压缩zip 并解决linux下中文乱码

1. [代码][Java]代码   1:再压缩前,要设置linux模式, 需要使用第三方ant-1.6.5.jar  如果是文件目录,则ZipEntry zipEntry=new ZipEntry(basePath + System.getProperties().getProperty("file.separator"));zipEntry.setUnixMode(755);//解决linux乱码 如果是文件,则 ZipEntry zipEntry=new ZipEntry(base

java.sql.Connection解决插入数据库中文乱码问题

import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class ConnectionManager { private static final String DRIVER = "com.mysql.jdbc.Driver"; //private static final String URL = "jdbc:mysql://localh

jmeter接口测试-调用java的jar包-csv参数化请求-BeanShellPreProcessor生成验签作为请求验证参数-中文乱码----实战

背景及思路: 需求:要做 创建新卡 接口的测试,要求: 1. 不需要每次手动修改请求参数. 方案:文中先用excle将数据准备好,导出为csv格式,再用jmeter的csv请求进行参数化 2. 卡号需要唯一: 方案:文中用jmeter的beanshell按时间戳加随机数生成 3. 请求参数中有一个参数,会根据相应的请求参数生成(文中的sign值),接口请求会验证sign是否和相应请求参数对应: 方案: 1. 文中将生成sign的源码打包放在jmeter的lib\ext\ 下, 2. 再用jmet

js url传值中文乱码完美解决(JAVA)

首先在你的jsp页面这样更改: var url="你要传入的Action的位置&ipid="+ipid+"&keyWord="+key; 这里的key是中文,从input中取到值后,使用alert(key)发现中文没有乱码. 那么我们可以对url进行一下处理:url=encodeURI(url); 如果你以为这样就能解决乱码那你就错了,这时我们需要去我们url对应的接收参数的java方法中这样进行加工 String keyWord=new Strin

URL地址中中文乱码详解(javascript中encodeURI和decodeURI方法、java.net.URLDecoder.encode、java.net.URLDecoder.decode)

引言: 在Restful类的服务设计中,经常会碰到需要在URL地址中使用中文作为的参数的情况,这种情况下,一般都需要正确的设置和编码中文字符信息.乱码问题就此产生了,该如何解决呢?且听本文详细道来. 1.  问题的引出 在Restful的服务设计中,查询某些信息的时候,一般的URL地址设计为: get /basic/service? keyword=历史 , 之类的URL地址. 但是,在实际的开发和使用中,确是有乱码情况的发生,在后台的读取keyword信息为乱码,无法正确读取. 2. 乱码是如

java开发中中文乱码总结

1.jsp页面内容显示乱码 这种乱码原因很简单,一般的工具或解码程序对中文字符解析时采用默认的解码方式: <%@ page contentType="text/html; charset=ISO-8859-1"%> 我们只需修改其编码方式即可,如下: <%@ page contentType="text/html; charset=UTF-8"%> 字符集:UTF-8 > GBK > GB2312 2.jsp 与 Servlet

[Java Web]Struts2解决中文乱码问题

1.设置struts的字符编码,可以在struts.xml中增加以下代码: <constant name="struts.i18n.encoding" value="GBK" /> 或者找到struts的默认配置文件,位置在 struts2-core-2.3.16.3.jar 里面 org.apache.struts2 包中的 default.properties 文件.修改以下配置: ### This can be used to set your d

java.sql.date与java.util.date区别以及数据库中插入带时分秒的时间

java.sql.Date,java.sql.Time和java.sql.Timestamp三个都是java.util.Date的子类(包装类). java.sql.Date是java.util.Date的子类,是一个包装了毫秒值的瘦包装器,允许 JDBC 将毫秒值标识为 SQL DATE 值.毫秒值表示自 1970 年 1 月 1 日 00:00:00 GMT 以来经过的毫秒数. 为了与 SQL DATE 的定义一致,由 java.sql.Date 实例包装的毫秒值必须通过将时间.分钟.秒和毫

JAVA 处理时间 - java.sql.Date、java.util.Date与数据库中的Date字段的转换方法[转]

1.如何将java.util.Date转化为java.sql.Date? 转化: java.sql.Date sd; java.util.Date ud; //initialize the ud such as ud = new java.util.Date(); sd = new java.sql.Date(ud.getTime()); 2.如何将获取到的java.sql.Date转换为年-月-日输出 java.sql.Date sd; String dateTime = sd.toStrin