`
onedear
  • 浏览: 68990 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

url解码乱码问题解决方案

阅读更多

由于一些需求,要对referrer url的参数进行解析,但参数经常会出现很多通过不同编码的文字。

例如"广东广州"通过不同字符编码的情况:

utf-8:%E5%B9%BF%E4%B8%9C%E5%B9%BF%E5%B7%9E
gbk:%B9%E3%B6%AB%B9%E3%D6%DD

 

在解码时无法指定是编码进行解码。这样容易造成乱码。

实际上是有办法可以知道这字符串是通过什么编码的来的。代码如下

/**
 * 
 * @author onedear
 *
 */
public class CharsetUtil {
	
	private static String[] charsets = new String[]{"utf-8" , "gbk"};
	
	public static String getCharset(String word) {
		for(String charset : charsets) {
			try {
				String decodeWord = URLDecoder.decode(word, charset);
				String encodeWord= URLEncoder.encode(decodeWord, charset);
				if(word.equals(encodeWord))
					return charset;
			} catch (UnsupportedEncodingException e) {
				continue;
			}
		}
		return "utf-8";
	}
}

 用一个编码对字符串是解码再编码,的出来的值如果跟一开始的值一样,则说明这个编码是对的。

原理会尽可能的补上

1
1
分享到:
评论

相关推荐

    java中文乱码之解决URL中文乱码问题的方法

    总之,解决Java中的URL中文乱码问题需要理解URL编码的原理,并在客户端和服务器端采取相应的措施,确保编码和解码的一致性。无论是通过JavaScript编码、Java服务器端解码,还是调整服务器配置,关键在于确保字符集的...

    Delphi Base64编码,javascript解码汉字乱码解决方法演示程序(源代码)

    解决思路:进行Base64前先进行URL编码,在进行URL编码的时候,注意设置不需要SpaceAsPlus选项。 javascript代码: let decodedData = window.atob(JSONStr); let decodedData1 = decodeURIComponent(decodedData)...

    Ajax中文乱码问题解决方案

    本文将深入探讨Ajax中文乱码问题的成因,并提供一系列解决方案。 **一、问题原因** 1. **编码格式不一致**:服务器与客户端(浏览器)之间使用的字符编码格式不同,例如服务器使用GBK编码,而浏览器使用UTF-8编码...

    Url传值乱码解决方案

    在进行Web开发时,我们经常会遇到...总之,理解和正确应用URL编码与解码是解决URL传值乱码问题的关键。通过遵循标准的编码规则,确保前后端编码格式一致,并在适当的时候进行解码,我们可以有效地防止和解决这类问题。

    php中url地址栏传参数中文乱码解决方法汇总

    PHP 中 URL 地址栏传参数中文乱码解决方法汇总是指在 PHP 编程中,如何解决 URL 地址栏传参数中文乱码的问题。这个问题是由于浏览器和服务器之间的编码问题引起的。 url 编码语法: 在 PHP 中,url 编码语法使用 ...

    乱码问题的解决

    在本文中,我们将详细介绍乱码问题的原因、类型和解决方法。 一、编码不一致的原因 编码不一致是乱码问题的主要原因。编码不一致可能出现在多个方面: * 页面编码:jsp 默认 iso8859-1 * 服务器编码:tomcat 默认...

    jquery获取URL中参数解决中文乱码问题的两种方法

    以上就是解决在使用jQuery获取URL参数时出现中文乱码问题的两种方法,以及相关的编码和解码处理方式。需要注意的是,乱码问题的出现主要是由于编码和解码不一致导致的,所以在前后端处理URL参数时,一定要注意正确地...

    web程序开发中的URL乱码解决方案

    ### Web程序开发中的URL乱码解决方案 #### 一、前言与背景 在Web应用程序的开发过程中,我们经常遇到的一个问题就是URL中的中文字符或特殊字符出现乱码的情况。这不仅影响用户体验,还可能导致功能异常。本文将...

    Tomcat和weblogic中文乱码问题解决方案

    Tomcat和WebLogic中文乱码问题解决方案 在 Java Web 开发中,中文乱码问题一直是困扰开发者的主要问题之一。 Tomcat 和 WebLogic 是两个常用的 web 服务器,都是支持 Servlet 和 JSP 的。然而,在使用这些服务器时...

    IOS URL中文乱码问题解决方案

    总之,解决iOS URL中文乱码问题的关键在于正确地对URL进行编码,避免不必要的重复编码,并在需要时使用适当的解码方法。同时,了解URL编码的原理和标准,以及如何在不同平台间正确传递和处理这些信息,对于开发过程...

    asp.net中URL参数传值中文乱码的三种解决办法

    了解这些基本概念后,结合以上三种方法,我们可以有效解决ASP.NET中URL参数传递中文时的乱码问题。在实际开发中,应根据具体项目需求和环境选择合适的方法,确保数据的正确传递。同时,为了兼容更多情况,建议在开发...

    java中文乱码解决之道(8)解决URL中文乱码问题Jav

    2. **URL解码**:与编码相对应,我们有`java.net.URLDecoder.decode()`方法来解码URL中的参数。同样,需要指定正确的字符集: ```java String decodedParam = URLDecoder.decode(encodedParam, "UTF-8"); ``` 3...

    js中文乱码问题分析及解决方案.docx

    js中文乱码问题分析及解决方案 在Web开发中,JavaScript文件的编码问题是一个常见的错误,特别是在引入外部JavaScript文件时。如果Web页面和JavaScript文件使用不同的编码,可能会出现乱码问题。本文将分析...

    Jsp页面在URL中传递参数会出现乱码问题解决

    本文将详细介绍两种解决JSP页面URL参数乱码的方法,虽然不能保证100%有效,但它们是实践中常用且有效的解决方案。 **方法一:修改Tomcat配置** 1. 首先,我们需要进入Tomcat服务器的配置目录,通常是`$CATALINA_...

    J2EE乱码问题解决方法

    ### J2EE乱码问题解决方法 在J2EE(Java 2 Platform, Enterprise Edition)应用开发中,字符编码问题尤为常见,特别是当涉及到多语言环境时。乱码问题不仅影响用户体验,还可能导致数据错误处理等问题。本文将详细...

    网页链接 URL 地址解码

    在编程领域,很多编程语言都内置了URL解码的函数,例如在JavaScript中,我们可以使用`decodeURI()`或`decodeURIComponent()`方法;在Python中,有`urllib.parse.unquote()`函数;在Java中,可以使用`java.net....

    extjs 前后台交互参数出现中文乱码问题的解决方法

    ### extjs前后台交互参数出现中文乱码问题的解决方法 #### 问题背景与原因分析 在使用MyEclipse开发工具进行Web应用开发时,尤其是采用ExtJS框架结合Ajax技术进行前后端数据交互的过程中,可能会遇到一个常见的...

    J2ee应用中文乱码问题解决方案.doc

    以下是对这个问题的详细解析和解决方案: 1. **字符集概念**: - **ASCII**:7位字符集,包含128个字符,主要为英文字符。 - **ISO-8859-1**:扩展ASCII,增加了一些西欧语言的字符。 - **双字节字符集**:如GB...

Global site tag (gtag.js) - Google Analytics