java URL乱码的解决办法
平常我们都是encode 一次,然后直接接受参数
String para = request.getParameter(paramName); 这是因为容器自动能帮我们解码 (DECODE)
一般来说, encode 的时候,使用的 UTF-8(系统的 编码) 那么解码的时候也是使用 UTF-8的话, 那么不会出现传说中的乱码~
但是如果 在JSP 页面 使用的UTF-8,但是 容器 解码的时候 使用的 别的编码的话,则有可能出现乱码
这个时候.一般可以使用:
String param = new String(request.getParameter(paramName).getBytes("ISO-8859-1"),"UTF-8");
也能出来.
所有的手段都使了.还是搞不定怎么办?
怎么解决这种多服务器导致的 编码 问题:
假设 字符串: = "阳";
Encode 一次 %E9%98%B3
Encode 两次 %2525E9%252598%2525B3
在第二次的时候 ,容器自动解的这一次,不管是按 GBK 还是 UTF-8 还是 ISO-8859-1 都好,都能够正确的得到 %E9%98%B3
那么 只要自身在进行 Decode 一次 就能得到 "阳"
相关推荐
-
Java使用默认浏览器打开指定URL的方法(二种方法)
直接看代码:方法一: 复制代码 代码如下: Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler http://www.jb51.net"); 方法二: 复制代码 代码如下: //判断当前系统是否支持Java AWT Desktop扩展 if(java.awt.Desktop.isDesktopSupported()){ try{ //创建一个UR
-
Java 获取URL的内容
Java获取URL内容的,我这里只给出GET方式的,POST和其它方式的都是比较类似的.其技术要点就一下三点. 第一:创建HttpURLConnection 第二:打开URL,创建一个InputStream 第三:逐行(逐字节)读取,如果需要,转换编码,放入字符串. 好,一下就开始代码吧: 复制代码 代码如下: public String getUrlContent(String path){ String rtn = ""; int c; try{ java.net.URL l_ur
-
java 页面url传值中文乱码的解决方法
中文问题,是在应用中常常遇到的问题. 这将涉及到字符解码操作,我们在应用中常常会用new String(fieldType.getBytes("iso-8859-1"), "UTF-8");等类似的方法去解码.但这种方式受具体应用环境限制,往往在应用部署环境发生改变时,还会出现中文乱码. 在这里介绍一种解决方法,可以在任何应用部署环境下通用.此方法分两步: 1.在客户端用escape(encodeURIComponent(fieldValue))方法编码,例如: 复
-
java中文乱码之解决URL中文乱码问题的方法
我们主要通过两种形式提交向服务器发送请求:URL.表单.而表单形式一般都不会出现乱码问题,乱码问题主要是在URL上面.通过前面几篇博客的介绍我们知道URL向服务器发送请求编码过程实在是实在太混乱了.不同的操作系统.不同的浏览器.不同的网页字符集,将导致完全不同的编码结果.如果程序员要把每一种结果都考虑进去,是不是太恐怖了?有没有办法,能够保证客户端只用一种编码方法向服务器发出请求? 有!这里我主要提供以下几种方法 一.javascript 使用javascript编码不给浏览器插手的机会,编码之
-
Java中URL传中文时乱码的解决方法
前言 Java中URL传中文时乱码的问题相信不少朋友都遇到过,最近就遇到一个问题,就是在Action当中把一条中文信息绑定在URL的后面,ActionForward到别一个页面时,用reqeust.getParameter取出是出现乱码的问题. 解决办法 1.对要进行URL传递的中文字符进行编码: String message = java.net.URLEncoder.encode("中文字符","utf-8"); 2.在取URL传递中文的页面对字符进行解码: S
-
解决java页面URL地址传输参数乱码的方法
以下就是为大家分享的URL地址传输参数乱码的解决方法: 1.在tomcat中配置:在tomcat安装目录下面找到conf下面的server.xml找到以下代码段,修改URIEncoding为GBK: <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="GBK&q
-
java发送url请求获取返回值的二种方法
下面提供二种方法会使用java发送url请求,并获取服务器返回的值 第一种方法: 复制代码 代码如下: import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.NameValuePair;import org.apache.http.client.HttpClient;import org.apache.http.client.entity.UrlEncodedFor
-
Java在web页面上的编码解码处理及中文URL乱码解决
编码&解码 通过下图我们可以了解在javaWeb中有哪些地方有转码: 用户想服务器发送一个HTTP请求,需要编码的地方有url.cookie.parameter,经过编码后服务器接受HTTP请求,解析HTTP请求,然后对url.cookie.parameter进行解码.在服务器进行业务逻辑处理过程中可能需要读取数据库.本地文件或者网络中的其他文件等等,这些过程都需要进行编码解码.当处理完成后,服务器将数据进行编码后发送给客户端,浏览器经过解码后显示给用户.在这个整个过程中涉及的编码解码的地方较
-
java网络编程中向指定URL发送GET POST请求示例
复制代码 代码如下: import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.PrintWriter;import java.net.HttpURLConnection;import java.net.URL;import java.net.URLConnection;import jav
-
java解析出url请求的路径和参数键值对类(解析出url请求的路径,包括页面)
复制代码 代码如下: package RequestPackage; import java.util.HashMap; import java.util.Map; public class CRequest { /** * 解析出url请求的路径,包括页面 * @param strURL url地址 * @return url路径 */ public static String UrlPage(String strURL) { String strPage=null; String[] arr
随机推荐
- Linux下一些常用的Shell脚本整理
- Extjs学习笔记之一 初识Extjs之MessageBox
- 用正则查找html中有id属性的html标签
- javascript dom追加内容实现示例
- Python编码爬坑指南(必看)
- centos下mysql主从复制设置详解
- php修改文件上传限制方法汇总
- js实现随屏幕滚动的带缓冲效果的右下角广告代码
- JavaScript实现向OL列表内动态添加LI元素的方法
- css支持标准的图片垂直居中
- ComboBox(下拉列表框)通过url加载调用远程数据的方法
- js实现数组去重、判断数组以及对象中的内容是否相同
- 浅析删除表的几种方法(delete、drop、truncate)
- JQuery在光标位置插入内容的实现代码
- Android超实用的Toast提示框优化分享
- 浅谈java中类名.class, class.forName(), getClass()的区别
- Android编程实现分页加载ListView功能示例
- Java中使用异或语句实现两个变量的互换
- java中struts2实现简单的文件上传与下载
- 网络安全防范体系及设计原则