`
maimode
  • 浏览: 415700 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JavaEE开发之URL中文编码问题

阅读更多

 

1. URLEncoder.encode方法会将所有“不符合”application/x-www-form-urlencoded格式的字符进行编码。如果你指望让它只对  http://localhost:8080/hello/中文/test.jsp?城市=北京 这样一个地址中的中文进行编码,然后拿去sendredirect的话,是不行的。

 

按照utf-8编码后的结果是:http%3A%2F%2Flocalhost%3A8080%2Fhello%2F%E4%B8%AD%E6%96%87%2Ftest.jsp%3F%E5%9F%8E%E5%B8%82%3D%E5%8C%97%E4%BA%AC

 

2.URI中中的编码情况:浏览器自己决定编码方式,服务器根据配置的编码格式来解码,程序中无法控制。程序可以控制的是http报文正文内容(即要么是POST过来的表单内容,要么是响应给浏览器的html文档等)的编码解码方式:HttpServletRequest.setCharacterEncoding方法设置请求中来的数据编码格式;HttpServletResponse.setCharacterEncoding方法设置发给浏览器的数据的编码格式,但是浏览器不一定会按照此设置来解析,浏览器很可能按照收到的文档中的格式说明来解析。

只要弄清楚这里的编解码层级架构,就不会出现乱码问题,包括URI中也是可以出现中文路径的。(注意,js中的编码比较特殊,详见大牛的分解:http://www.ruanyifeng.com/blog/2014/12/unicode.html

 

3.HttpServletResponse.setCharacterEncoding方法无法设置GBK/gb2312等编码,如果设置成这些编码,实际上还是使用的是默认编码。暂时还不知道原因。

分享到:
评论

相关推荐

    JavaEE防止中文乱码的设置

    在JavaEE开发中,中文乱码问题是一个常见的困扰,尤其在处理HTTP请求、文件上传、数据库操作等场景下。要防止中文乱码,我们需要理解字符编码的本质,并掌握JavaEE相关组件的配置技巧。以下是一些关键知识点: 1. *...

    javaee开发环境配置实验

    本实验将指导你如何配置一个完整的JavaEE开发环境,以实现"Firstapp"这个简单的应用程序。 首先,你需要安装Java Development Kit (JDK)。JDK是Java编程的基础,包含了编译器、调试工具和其他必要的开发组件。请...

    编程语言JavaEE中,乱码问题.pdf

    这些API能够帮助开发者在数据传递之前,将字符转换为URL编码或者HTML实体编码,以防止乱码问题的发生。 6. 注意事项: 在处理乱码问题时,也需要留心某些组件或容器可能有默认的编码设置,而这些默认设置可能并不...

    解决JavaEE开发中字符编码出现乱码的问题

    在JavaEE开发中,字符编码问题是一个非常常见且容易出现的问题,其中最常见的问题之一就是乱码问题。本文将从三个主要的地方进行...通过在这三个地方进行正确编码设置,可以有效解决JavaEE开发中的字符编码乱码问题。

    MyEclipse-6JavaEE开发中文手册

    《MyEclipse-6JavaEE开发中文手册》是针对MyEclipse 6版本的一个详尽指南,主要聚焦于Java企业级应用的开发。MyEclipse作为一款强大的集成开发环境(IDE),尤其适合Java EE(Java企业版)项目的开发,它集成了诸如...

    关于javaEE开发中ajax打不开的问题

    然而,有时候在实际开发过程中可能会遇到Ajax请求无法正常工作的情况,就像题目中提到的问题——"关于javaEE开发中ajax打不开的问题"。这个问题可能由多种原因引起,而在这个案例中,主要的原因是数据库版本差异导致...

    javaEE项目开发

    - **知识点:** 当两个页面采用不同的字符编码时,可能会出现乱码问题。 - **答案:** C. 可以传递,但b.jsp接到的参数为乱码。 - **Servlet请求处理** - **知识点:** Servlet容器会在处理用户请求时创建...

    JavaEE乱码等实用指南

    在JavaEE开发中,乱码问题常常困扰着开发者,尤其是对于网页内容的显示。这个问题涉及到多个层面,包括项目属性设置、网页编码设定以及服务器配置。本文将深入探讨这些方面,帮助你有效地解决JavaEE环境中的乱码问题...

    JavaEE项目开发初步教程+安装包

    JavaEE项目开发初步教程主要针对的是初学者,尤其是大学生,旨在帮助他们理解并掌握JavaEE平台上的项目构建和开发流程。JavaEE(Java Platform, Enterprise Edition)是Java平台的一个版本,专为构建企业级分布式...

    javaee中的乱码问题及解决方案(持续更新)(修改后).docx

    但是,由于GET方式的URL编码问题,可能需要将接收到的参数值先解码为ISO-8859-1,然后再次编码为UTF-8,例如: ```java String id = request.getParameter("id"); String qq = new String(id.getBytes("ISO-8859-...

    JavaEE面试常见问题及答案

    ### JavaEE面试常见问题及答案解析 #### 一、MVC模式详解 **MVC** (Model-View-Controller) 是一种广泛应用于Web应用程序开发的设计模式。它将应用程序分为三个核心部分: - **Model(模型)**: 负责业务逻辑处理...

    JavaEE Filter全局编码过滤器

    总的来说,JavaEE Filter全局编码过滤器是解决Web应用中字符编码问题的有效手段,它可以确保无论何时何地,数据的编码始终保持一致,避免因为编码不匹配引发的乱码问题。理解并熟练使用Filter对于开发健壮的JavaEE...

    javaEE动态开发技术[汇编].pdf

    编码问题需要注意字符集的选择,如UTF-8或GBK,以确保正确显示汉字。 8. **服务器和项目部署**:了解如何在服务器上部署Web应用程序是至关重要的。这涉及到配置服务器的路径,将Web项目复制到服务器的`webapps`目录...

    javaEE企业级开发SSM整合实现网站后台管理后台登录与院校管理.docx

    SSM框架整合简化了JavaEE应用的开发流程,通过Spring管理依赖,SpringMVC处理HTTP请求,MyBatis负责数据库操作。本实验通过创建实体类、控制层和业务逻辑,实现了后台管理系统的登录和院校管理功能,展示了SSM框架...

    JavaEE新开发规范文档

    ### JavaEE新开发规范文档知识点概述 #### 一、命名约定 **1. 源代码文件中的几个基本包** - 所有的源代码应当按照功能进行组织,并且放入特定的包中。例如,所有与业务逻辑相关的类应当放在`...

    .vscode_JavaEE_

    在开发JavaEE应用程序时,编码问题常常困扰着开发者,尤其是涉及到字符集转换和显示时可能出现的乱码问题。".vscode"目录通常包含了Visual Studio Code(VSCode)的配置文件,用于定制IDE的工作环境,包括代码编辑器...

    JavaEE程序编码规范.doc

    JavaEE 程序编码规范是一份重要的文档,它提供了 Java 企业版(Java Enterprise Edition)程序设计和开发的编码规范。该规范旨在确保 JavaEE 程序的可读性、可维护性和可扩展性。 变量的命名规则是 JavaEE 程序编码...

    JavaEE编程技术复习题

    JavaEE编程技术复习题涵盖了Java企业级应用开发的关键知识点,主要涉及JavaEE组件模型、Servlet、JSP和...通过复习这些知识点,开发者可以更好地理解和掌握JavaEE开发的基本概念和技术,以应对实际项目中的各种挑战。

Global site tag (gtag.js) - Google Analytics