页面,数据库,服务器 等编码方式向utf-8靠拢
1.JSP输出中文的乱码问题
1).jsp页面头部<%@ page contentType="text/html;charset=utf-8" %>(在Servlet中使用httpServletResponse.setContentType("text/html;charset=utf-8")),最好同时在JSP页面的head部分加上<meta http-equiv="Content-Type" content="text/html; charset="utf-8">。
2).在每次要输出中文的地方主动转换编码方式
2.获取表单提交的数据时的中文乱码问题
- <%@ page language="java" contentType="text/html; charset=UTF-8"
-
pageEncoding="UTF-8"%>
-
<% String str=request.getParameter("chStr");
-
if(str==null) str="没有输入值";
- %>
-
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
-
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>Insert title here</title>
- </head>
- <body>
- 你输入的内容为:<%= str %><br/>
-
<form action="luanma.jsp" method="post">
-
请输入中文:<input type="text" name="chStr"/><input type="submit" value="确定"/>
-
- </form>
- </body>
-
</html>
这段代码产生提交数据中文乱码
解决办法1.局部解决方法:将表单中的中文数据取出来过后再转换编码,String str = request.getParameter("chStr"); String str = new String(str.getBytes("ISO-8859-1"),"utf-8"),
解决办法2.让所有页面的请求通过一个Filter,将处理字符集设置为utf-8
拷贝tomcat示例代码SetCharacterEncodingFilter到自己的工程中,
在自己工程的web.xml中加入代码:
- <filter>
- <filter-name>Set Character Encoding</filter-name>
-
<filter-class>linzhanghui.iteye.com.util.filter.SetCharacterEncodingFilter</filter-class>
- <init-param>
- <param-name>encoding</param-name>
- <param-value>UTF8</param-value>
- </init-param>
- </filter>
- <filter-mapping>
- <filter-name>Set Character Encoding</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
3.URL中中文处理:
打开Tomcat安装目录下的/conf/server.xml文件,找到Connector块,往其中添加URIEncoding="utf-8"/>
示例:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="utf-8" />
4.数据库访问时的乱码问题
连接字符串写成如下形式:
jdbc://mysql://hostname:port/DBname?user=username&password=pwd&useUnicode=true&character Encoding=utf-8
数据源的方式连接数据库:
<parameter>
<name>url</name>
<value>jdbc:mysql://hostname:port/DBname? &useUnicode=true&characterEncoding=utf-8 </value>
</parameter>
但是,如果使用一个已经存在的数据库,数据库的编码方式为ISO-8859-1,而web应用中使用utf-8。且数据库中已经有很多重要信息,因此不能通过更改数据库的编码方式来解决问题。这个时候,在往数据库中写数据时,一定要在jdbc连接字符串中加入"useUnicode=true&characterEncoding=ISO-8859-1"
具体实现如下:
public String charConvert(String src){
String result=null;
if (src!=null) {
try {
result = new String(src.getBytes("ISO-8859-1"),"utf-8");
} catch (Exception e) {
result = null;
}
}
return result;
}
于是,在从数据库读出数据过后调用charConvert(rs.getString("colName"))
分享到:
相关推荐
由于直接学习笔记的内容没有给出具体的实例代码和详细解释,所以这里只提供了理论层面的知识点。如果需要学习具体实现,可以寻找相关的教程和项目实践来加深理解。同时需要注意的是,由于JSP/Servlet技术相对老旧,...
在提供的"jsp笔记"文件中,可能包含了对这些问题的详细记录和解决方案,包括JSP语法的使用示例、Struts框架的应用实例、如何配置和优化数据库连接池以解决连接问题,以及处理乱码问题的具体步骤。此外,笔记可能还会...
【JAVA-JSP学习笔记】 1. **JSP中去除字符串空格**:在JSP中,我们可以使用`String.trim()`方法来去除字符串两端的空格,如果需要去除所有空格,可以使用`String.replaceAll("\\s", "")`。 2. **JSP页面间参数传递...
### JSP学习笔记详解 #### 一、JSP基础语法概览 JSP(Java Server Pages)是一种在服务器端执行的脚本语言,用于生成动态网页。它将HTML标记、JavaScript脚本和Java代码结合在一起,使开发者能够创建功能丰富的Web...
本资源是 Java 开发者的学习笔记,涵盖了项目管理、权限管理、自动编号、Ajax 访问 servlet、数据库查询、字符串处理、数据加密、jQuery 弹框插件、乱码解决方案、版本控制、流程中加载 Java 事件、页面警告弹框、...
在本篇“appfuse学习笔记(三)解决乱码和菜单设置”中,我们将深入探讨在使用AppFuse框架时遇到的编码问题以及如何定制应用程序的菜单。AppFuse是一款开源项目,它提供了一个快速开发Web应用的基础,特别是对于Java...
- **请求乱码处理**:解决不同请求方式下的中文乱码问题。 - **请求转发**:实现Servlet之间的数据传递和请求转发。 **示例代码**: ```java // 获取GET请求参数 String name = request.getParameter("name"); // ...
### JavaWeb 学习笔记知识点总结 ...以上是对JavaWeb学习笔记中的JSP相关知识点进行了详细总结,包括JSP的基本概念、部署方式、编码设置、动态交互流程以及页面跳转等内容。希望对你学习JavaWeb有所帮助。
jsp 基础的学习笔记 第一章语法和el表达式语言的使用 JSP学习要点记录 jsp乱码解决大全 基础开发入门级:JSP与ASP的比较 用EL访问javabean pro jsp第三章第五节代码 .......
### JSP基础知识与应用详解 #### 一、JSP概述 JSP(JavaServer Pages)是一种...通过以上内容的学习,我们不仅可以更好地理解JSP的基本原理和使用方法,还能掌握如何在实际开发中高效地运用JSP技术来构建动态网站。
**JSP(Java Server Pages)**是一种动态网页技术,它允许开发者将HTML代码与Java代码混合在一起,以创建交互式的Web应用。...通过不断实践和学习,你将能够更有效地利用JSP创建复杂、高效的应用程序。
例如,Out对象用于向页面输出内容,处理字符编码问题时,可以通过设置contentType属性或调用request.setCharacterEncoding()方法来解决乱码问题。 JSP的页面定位涉及到URL路径的理解。在Web应用中,"/"通常代表根...
### 中文乱码处理 中文乱码是Web开发中常见的问题,主要出现在数据传输过程中。产生乱码的原因主要有两个:一个是浏览器与服务器之间的编码不一致,另一个是GET和POST请求提交数据时编码的问题。 - 在GET请求中,...
### JAVA-WEB学习笔记知识点详解 #### 一、Tomcat配置与环境搭建 **1. Tomcat 安装步骤:** - **安装 JDK:** 在安装 Tomcat 之前,需要先安装 JDK (Java Development Kit)。这里以 JDK 1.5 为例。 - 下载并安装 ...
以下将详细介绍Spring学习笔记中的主要知识点。 **面向抽象编程** 面向抽象编程是一种设计原则,强调在代码中使用接口或抽象类,而不是具体实现类。这使得系统更具有灵活性,易于扩展和维护。在Spring框架中,我们...
总的来说,这份"SpringMVC学习笔记+学习源码.zip"资源涵盖了SpringMVC的基本概念、配置、控制器、数据绑定、异常处理、视图解析等多个方面的内容,对于初学者和有一定经验的开发者都是很好的学习资料。通过深入学习...
### Struts2学习笔记知识点梳理 #### 一、Struts2框架概述 - **背景**:Struts2作为Struts1的升级版本,融合了WebWork框架的优点,由Apache基金会维护,是一个开源、免费的MVC框架。尽管随着时间的推移,Spring MVC...