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

关于java、jsp、servlet、ajax乱码问题总结

阅读更多

最近不太忙,搞了一下一直另我头疼的乱码问题(如有错误,请指教)。总结如下:

1.POST方法提交的表单数据中有中文字符:

      和POST提交有关:JSP页面中的contentType中的charset属性、web容器接受参数时的解码、程序中

      的解码方式。

      发送:表单参数值会通过request body发送给服务器,此时网页会根据contentType中的charset属性

      对参数进行编码(如:utf8),然后发送个web容器。

      web容器接受:web容器采用一定的解码方式接受客户端发送过来的数据,在tomcat中默认时ISO-885

      9-1。

      程序中解码方式:如果不产生乱码,我们必须将服务器接受的ISO-8859-1的编码还原为浏览器中的编

      码。tomact中,我们需要将ISO-8859-1解码为和浏览器发送时一样的编码。

     整个过程为:浏览器(如:gbk)-->web容器(如:tomcat,使用ISO-8859-1接受)-->程序中将

     ISO-8859-1转换为gbk,这样就不会有乱码了。

2.以GET方式提交的表单中含有中文字符:

     使用GET方式提交时,表单会作为url的一部分进行提交,浏览器会对url encode,然后发送给服务器

     对于中文IE,对于中文浏览器,编码一般为UTF-8或GBK(不太确定)。

     和GET提交有关:浏览器URL编码(不知道怎么设置)、web容器接受时解码()、程序中的解码方式,

     此外还有两个参数,就时server.XML中的URIEncoding和useBodyEncodingForURI。

    发送:参数的编码是根据浏览器来决定的,具体怎么搞还没搞明白。

    web容器接受:默认情况下采用ISO-8859-1接受,但是可以通过URIEncoding和useBodyEncodingForURI更改,useBodyEncodingForURI如果为true,表示将采用charset设置编码参数,如

   不设置,默认为fasle。URIEncoding是用来直接设置解码方式,但是好像不起作用(不太明白,高手指教)。

   程序中的解码方式:只要是解码成和浏览器的一样就不会出现乱码。

   还有就是关于ajax提交的问题,如果是get提交,方法和表单的get提交一样,但是,如果ajax使用post

   提交,使用的编码就不是charset的值了,而是使用utf-8,所以要想在服务器端不乱码,必选也使用utf-8。

分享到:
评论

相关推荐

    servlet中文乱码问题

    ### Servlet + Tomcat 中文乱码问题解析及解决方案 #### 一、中文乱码问题概述 在使用Servlet和Tomcat进行Web开发时,经常会遇到中文乱码的问题。这主要是因为客户端(如浏览器)与服务器之间使用的字符编码不一致...

    ajax+jsp+servlet 中文解决方法

    在这个"ajax+jsp+servlet 中文解决方法"的示例中,开发者遇到了在使用Ajax进行数据交互时中文乱码的问题。中文乱码通常是由字符编码不一致导致的,特别是在跨平台或跨浏览器通信时。以下是一些关于如何解决这个问题...

    Ajax uri 乱码问题总结

    总结来说,解决Ajax URI乱码问题的关键在于理解和匹配浏览器的编码行为,并在服务器端进行相应的配置。通过以上策略,可以有效地解决大部分浏览器的乱码问题,实现更好的跨浏览器兼容性。然而,对于特定情况,可能还...

    jQuery Ajax传值到Servlet出现乱码问题的解决方法

    总的来说,解决Ajax传值到Servlet的乱码问题需要确保每个环节的编码设置一致,从JSP页面到Ajax请求,再到Servlet的接收和响应。只有这样,才能保证数据在整个传输过程中不发生乱码。记得在排查问题时,逐步检查每个...

    ajax乱码解决方案

    总的来说,解决Ajax乱码问题的关键在于理解字符编码的工作原理,确保数据在整个传输过程中的编码与解码一致性,以及正确设置服务器和客户端的编码设置。在实际应用中,还应考虑跨平台和跨浏览器的兼容性,以确保解决...

    java文件JSP文件乱码汇总

    ### Java与JSP文件乱码问题综合解析 在软件开发过程中,尤其是涉及到国际化或中文处理时,文件编码问题常导致“乱码”现象,严重影响了程序的正常运行和用户体验。本文将深入探讨Java与JSP文件乱码的问题,提供一...

    JSP中 ajax的get请求的中文乱码问题的解决方法.pdf

    综上所述,解决JSP中Ajax GET请求的中文乱码问题需要从服务器配置、Servlet处理、JSP页面编码和Ajax请求等多个角度综合考虑,并进行相应的调整。通过这些步骤,可以有效地避免并解决中文乱码问题,保证数据传输的...

    JAVA 乱码问题集合

    5. **JSP/Servlet配置**:在Web应用中,JSP页面和Servlet容器的默认编码设置也可能导致乱码。可以在web.xml中设置`<filter>`和`<filter-mapping>`来处理请求和响应的编码,或者在JSP页面中使用`;charset=UTF-8" %>`...

    jsp+servlet实现增删改查

    在IT行业中,Web开发是至关重要的领域,而`jsp`(JavaServer Pages)和`servlet`是Java Web开发中的核心技术,常用于构建动态网站。本项目以"jsp+servlet实现增删改查"为主题,旨在利用这两者实现CRUD(Create、Read...

    JSP+SERVLET教程

    #### 七、Web应用乱码问题 - **常见问题**:中文或其他非英文字符在Web应用中的显示问题。 - **解决方案**:通过设置正确的字符集编码(如UTF-8),并在服务器、客户端和数据库之间保持一致的编码设置。 #### 八、...

    Struts框架下Ajax发送中文乱码问题的解决

    总结来说,解决Struts框架下Ajax发送中文乱码问题的关键在于: 1. 确保Ajax请求时设置正确的`Content-Type`,以UTF-8编码发送数据。 2. 在Struts配置文件中配置`CharacterEncodingFilter`或在Action中手动设置请求...

    jsp中 ajax的get请求的中文乱码问题的解决方法.docx

    JSP中的AJAX GET请求的中文乱码问题主要是由于URL编码格式不匹配导致的。以下是一些解决此问题的关键点和步骤: 1. **URL编码格式**: 默认情况下,Tomcat服务器使用ISO-8859-1编码处理URL,这是因为在`server.xml...

    JSP乱码终极攻略和AJAX初步运用

    在Java Web开发中,JSP乱码和AJAX的应用是两个常见的主题。本文将深入探讨这两个话题,提供解决方案,并给出详尽的实践指导。 首先,让我们来解决JSP项目的乱码问题。乱码通常是由于编码不一致导致的,尤其是在处理...

    AJAX于jsp结合的一个例子

    在描述中提到的“AJAX和Java”示例,可能是AJAX调用Java Servlet或JSP页面,通过传递参数来执行特定的操作。例如,用户在前端触发一个事件,如按钮点击,此时JavaScript的AJAX函数会被调用,向服务器发送请求,...

    java开发乱码问题处理大全

    ### Java开发乱码问题处理大全:精通乱码处理,提升专业技能 在Java开发中,乱码问题是开发者常遇到的挑战之一,尤其是在处理多语言、跨平台应用时更为显著。本文将深入探讨Java开发中常见的乱码问题及其解决策略,...

    jsp中 ajax的get请求的中文乱码问题的解决方法

    总结来说,要解决JSP中AJAX GET请求的中文乱码问题,需要从服务器配置和代码实现两方面入手。服务器配置方面,需要设置Connector节点的URIEncoding属性为合适的字符编码。代码实现方面,则需要注意在获取GET请求参数...

    JSP servlet课堂笔记(达内资料)

    JSP (Java Server Pages) 和 Servlet 是 Java Web 开发中的核心技术,主要用于构建动态网页。它们都是基于 Java 平台,提供了一种便捷的方式来处理用户请求并生成响应。 1、**Servlet 架构**: Servlet 是服务器端...

Global site tag (gtag.js) - Google Analytics