前言:今天遇到一个问题,一个用户在登录的时候,出现登录失败。但是其他用户登录都是正常的,经过调试发现登录失败的用户的密码中有两个特殊字符: * 、# 。 特殊符号在提交表单的时候,出现了编码不一样的问题。那么编码是什么鬼?? 1 ...
前言:今天遇到一个问题,一个用户在登录的时候,出现登录失败。但是其他用户登录都是正常的,经过调试发现登录失败的用户的密码中有两个特殊字符: * 、# 。
特殊符号在提交表单的时候,出现了编码不一样的问题。那么编码是什么鬼??
1、什么是application/x-www-form-urlencoded字符串?
它是一种编码类型。
当URL地址里包含非西欧字符的字符串时,系统会将这些字符转换成application/x-www-form-urlencoded字符串。
表单提交时也是如此,当包含非西欧字符的字符串时,系统也会将这些字符转换成application/x-www-form-urlencoded字符串。
package com.app;import java.io.UnsupportedEncodingException;import java.net.URLDecoder;import java.net.URLEncoder;public class AA { public static void main(String[] args) { /** * 将application/x-www-form-urlencoded字符串 转换成普通字符串 */ String keyWord = ""; try { keyWord = URLDecoder.decode("%E6%96%87%E6%A1%A3", "UTF-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } System.out.println(keyWord); /** * 将普通字符串转换成application/x-www-form-urlencoded字符串 * 必须强调的是编码方式必须正确,如baidu的是gb2312,而google的是UTF-8 */ String urlStr = "" ; try { urlStr = URLEncoder.encode("文档", "Utf-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } System.out.println(urlStr); }}
1.大写字母A-Z
海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com
原标题:Java中的编码与解码
关键词:JAVA
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。