参考网址:
http://blackwoodkane.spaces.live.com/Blog/cns!6279FA186F838628!649.entry
http://www.javaworld.com.tw/jute/post/view?bid=9&id=44042&sty=1&tpg=1&age=0
首先要需要了解的是web容器默认编码是iso-8859-1,一个汉字占用两个字节,而在utf-8中一个汉字占用三个字节。所以在数据传递过程中,必须手动设定容器编码格式,否则会出现字符位丢失的情况。即3个字节变为两个字节,自然会变成乱码。
第一步,修改tomcat。
找到对应站点的server.xml后,在里面的Connector标签里面添加
useBodyEncodingForURI="true"
这句的话告诉tomcat用页面的编码去处理post
在JSP页面加上这两句
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
例子:
DirRead.jsp
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ page import="java.net.*,java.io.*" %>
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<%
//依您電腦,請修改目錄
File fp = new File("C:\\");
File[] f2 = fp.listFiles();
%>
<form method="post">
<table border="01" cellpadding="2" cellspacing="0">
<% //for( int i=0 ; i<file_list.length ; i++ ){
for( int i=0 ; i<f2.length ; i++ ){
%>
<tr>
<td><%=f2[i].getName() %></td>
<td><a href="DirShow.jsp?filename=<%= java.net.URLEncoder.encode(f2[i].getName(),"UTF-8") %>">link</a></td>
</tr>
<% } %>
</table>
</form>
</BODY>
</HTML>
DirShow.jsp
<%@page contentType="text/html; charset=UTF-8" %>
<%@page import="java.util.*" %>
<%@page import="java.io.*" %>
<%
request.setCharacterEncoding("UTF-8");
String filename = request.getParameter("filename");
out.println("選取檔案: " + filename);
%>
分享到:
相关推荐
Java 开发中常见的问题之一,解决这个问题需要了解 Java 的编码方式、JSP 中文乱码问题、Tomcat 5.5 中文乱码问题、JDBC ODBC Bridge 的 Bug 及其解决方法、Solaris 下 Servlet 编程的中文问题及解决办法等。...
Java语言本身是使用Unicode编码,但不同平台、浏览器以及数据库系统可能采用不同的编码标准,如ISO 8859-1、GBK、GB2312或UTF-8,导致数据在传输和处理过程中可能出现乱码。 1. 字符集与编码方式: - ISO 8859-1:...
Tomcat 5.5 中文乱码的问题可以使用 CharacterEncodingFilter 来解决。首先,需要将 %TOMCAT 安装目录%/webapps/servlets-examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.class 文件拷到你的 webapp ...
通过以上步骤,可以确保整个J2EE应用从开发环境到运行环境,从静态资源到动态处理,都使用UTF-8编码,从而有效地避免乱码问题。同时,对于其他可能出现乱码的地方,如数据库连接、文件读写等,也应检查并设置相应的...
- **IntelliJ IDEA**:在File -> Settings -> Editor -> File Encodings中,确保全局、项目和特定文件的编码设置为UTF-8。 2. **构建工具设置** - **Maven**:在pom.xml中添加maven-compiler-plugin插件,并指定...
然后打开观察是否中文乱码,如果乱码就去重新设置编码为UTF-8或GBK直至不乱码为止 最后\library源码\src\com\rain\util\DBUtil.java 修改成你自己的数据库配置; 最后用tomcat容器部署运行,如果遇到无法登陆、登陆...
charset=UTF-8" pageEncoding="UTF-8"%>`; - 在查询数据库时指定字符集,例如使用`set names utf8`语句; - 确认项目中的所有文件和资源都使用相同的字符集。 - **步骤**: - **Step01**: 设置当前会话的字符...
- **编码设置**:在Eclipse中设置编码为UTF-8,以避免中文乱码问题。 ![图片](pic) #### 五、导入Web资源 4. **导入Web资源**:将源码包中的`ROOT`文件夹导入到Eclipse项目的`WebContent`文件夹中。 ![图片]...
- **中文乱码问题**:确保整个开发环境中都使用UTF-8编码,包括服务器设置、数据库设置以及程序中的字符集编码。 - **Servlet配置问题**:确保`web.xml`文件正确配置Servlet的初始化参数及URL映射。 #### 实验...
- 工作区和JSP文件的编码应设置为`utf-8`,以处理中文乱码问题。 - MyEclipse 2015在处理Servlet中的GET和POST请求时可能存在中文乱码问题,而MyEclipse 10则需要手动处理。 7. **其他工具**: - Eclipse(adt ...
charset=UTF-8" %>` - **include 指令** - 在页面编译期间包含其他文件。 - 示例: `<%@ include file="header.jsp" %>` - **taglib 指令** - 引入自定义标签库。 - 示例: `<%@ taglib uri="/WEB-INF/tlds/my...
charset=UTF-8")`设置,确保中文字符的正确显示和传输,避免乱码问题。 #### 总结 本次电子商务技术课程设计不仅涵盖了网站开发的基础知识,如HTML、CSS、JSP、Java等,还深入探讨了数据库设计、前后端分离架构、...
21. 数据库操作中的乱码:在存储和检索含中文的数据时,需要进行适当的编码转换,如GBK或UTF-8。 以上是对答辩常见问题的详细解答,涵盖了数据库操作、系统测试、Web应用配置、前端技术等多个IT领域的重要知识点。...
- MySQL支持多种字符集,包括UTF-8、GBK等。 - 字符集用于指定数据如何存储和传输。 - **数据存储字符集**: 包括服务器端、库、表和字段级别的字符集设置。 - **数据传输过程字符集**: 客户端与服务器之间的数据...
24. **防止乱码**:添加过滤器(Filter)来处理字符编码问题,需要在Filter中设定合适的字符编码,例如设置HttpServletRequest和HttpServletResponse的编码为UTF-8。 以上内容涵盖了答辩中可能出现的多种问题,详细...
JPivot 是一套基于 Mondrian 的 OLAP 前端展现工具,它提供了一套标签库来解决的 OLAP 的展现层问题。 在一个 JSP 页面当中,如果要使用 JPivot 标签库,除了要配置相关的配置文件外,我们需要在 JSP 头的位置声明...