为每个jsp页面设置了其编码格式(utf-8),但传递数据到另一页面时依然显示为乱码?
首先要需要了解的是web容器默认编码是iso-8859-1,一个汉字占用两个字节,而在utf-8中一个汉字占用三个字节。所以在数据传递过程中,必须手动设定容器编码格式,否则会出现字符位丢失的情况。即3个字节变为两个字节,自然会变成乱码。
为什么保存到数据库中的数据都变成了乱码?
原理同上,首先要搞清楚使用的数据库默认的编码格式,比如mysql默认的字符编码是ISO-8859-1。所以必须手动修改其默认编码格式。
清楚了以上问题后,再来看如何解决utf-8的乱码问题。
1.设置web容器的编码格式。为你的servlet的doGet或doPost方法开始处加入如下代码:
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
2.为每个jsp页面指定其编码格式。<%@ page pageEncoding="utf-8"%>
3.在连接数据库用的URL后加入:useUnicode=true;characterEncoding=utf-8 如:
url="jdbc:mysql:///db1?useUnicode=true;characterEncoding=utf-8",
4.为指定数据库默认编码格式。在C:\WINDOWS目录下找到my.ini文件,并在[mysqld]中加入default-character-set=gbk,重新启动mysql服务。
至此,乱码问题全部解决。起初总搞上去不清,为什么要将mysql的默认编码格式设置为gbk,后来由相关的资料得知utf-8默认输入编码方式为gbk,默认输出编码方式为utf-16be。
个人认为,将数据进行utf-8进行编码的目的(即将中文编码为%的形式),主要是为了在多层服务间进行数据传输时,防止发生字符丢失(如msn)。普通的web程序显然没有必要这样做,只要使用以上方法进行处理,就可以有效的解决乱码问题,从而结省存储空间。如果都像公司的SC系统那样,将一个汉字编码为18个字符后,再存储到数据库中,抛开效率不说,就存储空间的浪费就够人受的,要知道,那是需要银子地!
分享到:
相关推荐
本文将围绕“JSP-Servlet中的汉字编码问题”这一主题展开讨论,通过对相关知识点的深入剖析,帮助读者理解JSP/Servlet环境中汉字编码可能出现的问题及解决方案。 #### 二、基础知识回顾 1. **字符编码**:字符编码...
解决 JSP 中文乱码问题 解决 JSP 中文乱码问题是一个很常见...解决 JSP 中文乱码问题需要从多方面入手,包括在 JSP 文件中指定编码方式,在 Java 文件中指定编码方式,在页面中指定编码方式,并确保编码方式的一致性。
jsp中文乱码问题是jsp开发中常见的问题之一,本文将围绕jsp中文乱码问题的解决展开讨论。首先,我们需要了解jsp中文乱码问题产生的原因,然后再讨论解决方案。 jsp中文乱码问题产生的原因是由于jsp页面的编码方式和...
在Java与JSP环境中处理中文问题,涉及到编码、字符集转换以及如何正确处理字符串和流等关键知识点。本文将深入探讨这些概念,并提供具体的代码示例来解释如何在实际开发中解决中文显示或乱码的问题。 ### 1. ...
- **对手工将JSP转换为Servlet的无用讨论**:讨论手动转换JSP为Servlet的实际意义。 - **胡乱解释一下session**:简要说明session的工作原理。 - **下载文件乱码**:解决下载文件时可能出现的字符编码问题。 通过...
8. **JSP应用实例**:通过实际的项目案例,如在线商城、论坛系统等,让学员掌握从需求分析到系统设计、编码、测试的全过程。 9. **安全性与性能优化**:讲解如何保护JSP应用程序免受攻击,以及如何优化JSP页面以...
- 这部分讨论了如何处理JSP/Servlet中的汉字编码问题。 ##### 4.7 图解Eclipse+Tomcat集成开发Servlet - 这部分通过图解的方式介绍了如何在Eclipse IDE中配置Tomcat服务器来开发Servlet。 ##### 4.8 Servlets/JSP...
2. 设置JSP页面编码:在JSP文件顶部使用`<%@ page pageEncoding="UTF-8"%>`声明页面编码。 3. 设置HTTP响应头:确保服务器响应的Content-Type头中的charset与JSP页面编码一致,例如`Content-Type: text/html;charset...
在此过程中,我们将讨论以下几个关键知识点: 1. **MIME类型**:视频文件在传输时需要正确指定MIME类型,如"video/mp4"、"video/ogg"或"video/webm",以便浏览器能够识别并播放。 2. **流媒体技术**:为了实现流畅...
【标题解析】:“经典强大的2个jsp后门”这一标题暗示了我们将讨论的是两个具有显著功能和影响力的JSP(JavaServer Pages)后门。在网络安全领域,后门通常指的是恶意程序,它们被黑客用于非法访问或控制目标系统,...
我们将围绕以下几点展开讨论: 1. JSP基础概述及优势。 2. 如何在JSP中嵌入HTML代码。 3. 使用JSP实现登录功能的具体步骤。 4. 分析提供的代码示例。 ### JSP基础概述及优势 JSP是一种基于Java技术的服务器端脚本...
本章讨论了Servlet和JSP之间的关系,包括如何从JSP调用Servlet,以及Servlet如何处理请求并更新JSP页面。读者将学习到Servlet生命周期、doGet和doPost方法以及如何在两者之间进行数据传递。 第6章:EL(Expression ...
- JavaBean遵循特定的编码规范,如公共构造函数、属性封装、getter和setter方法等。 - JavaBean可以作为独立的组件,通过Java的序列化机制存储和恢复状态。 - JavaBeans可以利用Java的Introspector类来自动发现其...
1.下载后,直接放在web项目的WebRoot/...后面一个是向后台传值时使用的编码格式,也就是给jspSmartupload使用的,和后台接受时使用的编码格式一致。 3.祝大家使用愉快,上面也是经验所得,还有什么不懂得可以互相讨论。
**在线社区讨论平台采用JSP技术构建** 在线社区讨论平台是一种常见的互联网应用,它为用户提供了一个互动交流的环境,用户可以发表观点、提问问题、解答疑惑。本项目以JSP(JavaServer Pages)为核心,结合Servlet...
标题中的“jsp网站设计”意味着我们将讨论如何利用JSP来构建和设计网站。JSP的主要优势在于它的平台无关性,由于它是基于Java的,因此可以在任何支持Java的平台上运行。此外,JSP具有良好的可扩展性和灵活性,可以...
8. **多语言支持**:由于JSP是国际化的,所以好的编辑器应支持多语言环境,提供UTF-8编码和多语言注释的支持。 9. **插件扩展**:许多JSP编辑器允许安装和配置各种插件,以扩展其功能,例如添加对特定框架(如...
- **发布过程**:讨论了Oracle JSP页面的部署和发布流程,包括所需的配置步骤和技术细节。 #### 四、JSP标签库与Oracle JML标签 - **JSP标签库**:介绍了JSP标签库的概念,以及如何使用预定义的标签简化页面开发。 ...
网上就 JSP/Servlet 中 DBCS 字符编码问题有许多优秀的文章和讨论,本文对它们作一些整理,并结合 IBM WebSphere Application Server 3.5(WAS)的解决方法作一些说明,希望它不是多余的。内容: 问题的起源 ??????...
10. **MVC模式与JSP**:讨论JSP在Model-View-Controller架构中的角色,以及如何与Servlet和JavaBeans协作。 11. **JSP 2.0的新特性**:如自定义标签库(Tag Libraries)的增强、内置对象的改进、错误处理和调试工具...