今天遇到从url中获取汉字乱码的问题,找了很多资料,到现在还没解决,如下:
问题:tomcat 6.0 的service.xml中加入 URIEncoding="UTF-8",整个项目的编码为UTF-8,jsp文件的编码都为UTF-8,添加了spring的过滤器,假如在jsp页面加上如下代码且去掉tomcat 6.0 的service.xml中的URLEncoding="UTF-8",则能在页面正确获取url中的汉字,
<%
String str=request.getParameter("action");
str=URLEncoder.encode(str,"ISO-8859-1"); //2
str=URLDecoder.decode(str, "GBK"); //3
out.println(str);
%>
将上面的applet放在jsp页面中,在地址栏中输入:http://localhost:8080/test/?action=在中国,回车,页面显示 ”在中国“ 三个字。
注意:
- 假如将 2 处的ISO-8859-1改为UTF-8或者GBK,都不行。
- 3 处的 GBK 是在我自己的机子上通过的,换成UTF-8乱码,我项目的整体编码是UTF-8,这里视具体情况而定可是问题又来了,当将此页面作为接口,比如采集接口,采集软件提交过来的汉字又不能正常显示在页面上了,2011.07.31,今天,再次修改这篇文章,原来是tomcat的URIEncoding="UTF-8"造成的:URL中的汉字一定是GBK的,Tomcat先将传过来的汉子编码成UTF-8,此时,不管在接受页面怎么转码,都不能解决问题。此问题待解
分享到:
相关推荐
PHP 中 URL 地址栏传参数中文乱码解决方法汇总是指在 PHP 编程中,如何解决 URL 地址栏传参数中文乱码的问题。这个问题是由于浏览器和服务器之间的编码问题引起的。 url 编码语法: 在 PHP 中,url 编码语法使用 ...
这里所说的“地址栏”指的是浏览器地址栏中输入的URL地址,而“参数”则是指URL中用于传递数据的部分。 #### 描述:“js获取中文地址栏参数” 该描述简单明了地重申了文章的核心内容——使用JavaScript技术来实现...
解决IE浏览器GET请求下的中文乱码问题,通常有以下几种方法: 1. **服务器端设置**:确保服务器返回的HTTP响应头中`Content-Type`字段正确设置了字符集,如`Content-Type: text/html; charset=utf-8`。这样,浏览器...
网页资源下载及地址栏乱码处理是一个常见的问题,涉及到网络通信和字符编码等多个方面的知识。在Web开发中,正确地处理资源下载和解决地址栏乱码对于用户体验至关重要。以下是对这些知识点的详细解释: 1. **HTTP...
然而,问题在于,当通过浏览器地址栏直接输入中文参数提交时,由于IE6有一个“以UTF-8发送URL”的选项,这可能导致乱码。这是因为IE6将URL编码为UTF-8,而Tomcat可能仍按照默认的ISO-8859-1解码,从而引发乱码。 ...
总的来说,将Tomcat的`URIEncoding`设置为`UTF-8`是解决大多数中文乱码问题的有效方法,但并不能覆盖所有场景,特别是地址栏直接输入中文的情况。因此,全面理解字符编码和转换过程,以及正确配置服务器和应用,对于...
然而,即便如此,仍然可能出现乱码问题,特别是通过浏览器地址栏直接输入中文参数或者页面链接传递中文参数时。这是因为不同的请求方式有不同的处理机制: 1. **表单GET提交**:浏览器根据页面的charset(通常是UTF...
总的来说,解决JSP中文乱码问题的关键在于理解字符编码的工作原理,以及在各个层面上(浏览器、服务器、数据库)如何设置和转换编码。通过正确设置和处理,可以确保中文字符在Web应用中的正确显示和处理。
中文乱码问题可以分类为四种:表单的GET提交、表单的POST提交、页面链接传递中文参数、地址栏中参数直接输入中文提交。 七、解决中文乱码问题的方法 为了解决中文乱码问题,我们可以采用以下方法: 1. 统一使用...
在分析这个问题时,我们将围绕四个类型的中文问题展开讨论:表单GET提交、表单POST提交、页面链接传递中文参数和地址栏直接输入中文提交。 首先,我们需要理解字符编码的基本概念。字符编码是用来表示文本的规则,...
当这个URL在某些特定情况下(比如通过动态生成的链接)传递时,尽管在浏览器地址栏显示正常,但服务器接收到的参数却是乱码。 2. **问题分析**: 这是因为URL在传递过程中可能被自动进行了UTF-8编码,而目标系统...
比如,用户在浏览器地址栏输入包含中文参数的URL:`http://localhost:8080/test/test.jsp?param=大家好`。在JSP页面中,我们用以下代码处理`param`参数: ```jsp ("param"); %> ``` 然而,简单的两行代码可能导致...
在使用Internet Explorer 8(以下简称IE8)浏览器时,可能会遇到一个特定的问题:当在IE8中的“搜索提供程序”功能里添加“百度”作为快捷搜索选项后,如果用户在地址栏或搜索栏输入非英文字符(例如中文、日文等)...
POST请求不会显示在浏览器地址栏,相对更安全,且不涉及浏览器缓存问题。然而,POST请求可能会导致服务器端负担加重,因为每次请求都会创建新的连接。 对于中文乱码问题,这通常发生在数据的编码和解码过程中。为...
1. 确认浏览器地址栏显示的中文是正确的,说明客户端到服务器的传输过程中,中文字符未被正确编码或解码。 2. 检查服务器端是否配置了正确的字符集解析URL编码。在一些Web服务器中,可能需要特别配置或开启字符集...
例如,从页面链接中打开的URL和直接在地址栏输入的URL可能有不同的编码结果,这取决于浏览器的默认行为和用户设置。 8. **系统默认编码**: 在中文操作系统上,查询字符串通常是使用GBK编码传递给Web服务器的。...
本人在刚用firefox时遇到了url中文乱码的问题,找自己程序及配置找了老久也没解决问题,后来才发现原来是浏览器的配置问题。 问题:编码为utf-8,url 出现乱码。form表单get、post方式都无乱码,页面链接地址...