// url中获取参数
// inputEncoding
String inputEncoding = "GBK";
String ie = request.getParameter("ie");
if (StringUtil.equalsIgnoreCase("UTF-8", ie) || StringUtil.equalsIgnoreCase("UTF8", ie)) {
inputEncoding = ie;
}
// keywords(设置tomcat容器的URIEncoding="ISO-8859-1")
// 首先从request获取请求中的关键词,此时keywords3的值可能为:
// (1)如果请求中的关键词是"手机"的GBK原生字节码"[0xCA][0xD6][0xBB][0xFA]":那么此时keywords3 = 乱码
// (2)如果请求中的关键词是"手机"的GBK URLEncoding后的编码"%CA%D6%BB%FA":那么此时keywords3 = %CA%D6%BB%FA
// (3)如果请求中的关键词是"手机"的UTF8原生字节码"[0xE6][0x89][0x8B][0xE6][0x9C][0xBA]":那么此时keywords3 = 乱码
// (4)如果请求中的关键词是"手机"的UTF8 URLEncoding后的编码"%E6%89%8B%E6%9C%BA":那么此时keywords3 = %E6%89%8B%E6%9C%BA
String keywords3 = request.getParameter("keywords");
if (StringUtil.isNotBlank(keywords3)) {
String keywords2 = null;
try {
// 然后按照inputEncoding转换keywords3为keywords2,keywords2的值可能为:
// (1)如果keywords3 = 乱码:那么此时keywords2 = 手机
// (2)如果keywords3 = %CA%D6%BB%FA:那么此时keywords2 = %CA%D6%BB%FA
// (3)如果keywords3 = %E6%89%8B%E6%9C%BA:那么此时keywords2 = %E6%89%8B%E6%9C%BA
keywords2 = new String(keywords3.getBytes("ISO-8859-1"), inputEncoding);// “中文”或"%C6%A1%BE%C6"
} catch (UnsupportedEncodingException e1) {
keywords2 = keywords3;
}
// 然后按照inputEncoding转换keywords2为keywords,keywords的值可能为:
// (1)如果keywords2 = 手机:那么此时keywords = 手机
// (2)如果keywords2 = %CA%D6%BB%FA:那么此时keywords = 手机
// (3)如果keywords2 = %E6%89%8B%E6%9C%BA:那么此时keywords = 手机
String keywords = UrlEncodeUtil.decode(keywords2, inputEncoding);// “中文”
// 只保留keywords的前40个字符
if (keywords.length() > 40) {
keywords = keywords.substring(0, 40);
}
param.setKeywords(keywords);
param.setGbkKeywords(UrlEncodeUtil.encode(keywords, "GBK"));
}
分享到:
相关推荐
易语言UTF8解码源码,UTF8解码
界面工具,输入原始内容,选择编码类型,进行编码和解码,字符集支持GBK,UTF-8,编码方式支持base64,运行于windows下,是开发中常用的好工具.
易语言ANSI+UTF-8解码源码,ANSI+UTF-8解码,U2A,URL解码ALL,UrlUnescapeA,MultiByteToWideChar_utf8,WideCharToMultiByte,StrStrI
基于Keil MDK,用于将GBK文本转化为UTF-8,从而使用于其他UTF-8编码解码的平台
解码 说明:本方法保证 不论参数s是否经过escape()编码,均能得到正确的“解码”结果。另外如果出现了Erro—Parameters: Character decoding failed. 请使用escape(escape(s)...解码URL中的中文,默认使用UTF-8进行解码
纯 Javascript 脚本实现 GBK URL 编码和解码
今天小编就为大家分享一篇python3的url编码和解码,自定义gbk、utf-8的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
url编解码utf-8 ANSI 解码工具
VB6中实现UTF-8编码解码的源代码程序。最常见的UTF-8应用,在搜索引擎搜索连接URL编码。
泉中流版base64编码和解码(支持汉字等编码(通过utf-8编码和解码))
主要介绍了java 使用 URLDecoder 和 URLEncoder 对中文字符进行编码和解码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
Utf8加码和解码
java的TLV包的编码和解码,能够对Tag Length Value对应的值进行编码和解码。包内包含jar包和源码包,还有一个java写的带有详细注释的Demo
UTF7 编码及解码工具 用于XSS方面
我在网上找了半天的java、js的base64编码解码结果没有,只好自己写了,js一个文件,java一个文件,调用里面是使用方法
C++ 版本UrlEncoder编码解码工具:支持ANSIC和UTF8格式,是URLEncoderHTML 格式编码的实用工具类。详情参照文章:...
实用的base64编码解码工具,支持字符集GBK,UTF8两种,支持编码和解码,下载即可使用,小巧方便,适合开发人员使用,欢迎试用.
UTF-7,编码解码工具,可直接用于跨站脚本攻击xss
淘宝 url 解码和编码方法(转的),本人转载,版权属于作者