当前位置:我的异常网» Java Web开发 » 这是小弟我的JSP文件,输出后,汉字显示为乱码,怎么解
这是小弟我的JSP文件,输出后,汉字显示为乱码,怎么解决
www.myexceptions.net 网友分享于:2015-08-26 浏览:61次
这是我的JSP文件,输出后,汉字显示为乱码,如何解决?
String url = "jdbc:sybase:Tds:192.168.1.22:5000/TESTDB ";
Properties SysProps = System.getProperties();
SysProps.put( "user ", "sa ");
SysProps.put( "password ", " ");
Connection conn= DriverManager.getConnection(url, SysProps);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql= "select * from Test ";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:
您的第二个字段内容为:
stmt.close();
conn.close();
%>
------解决方案--------------------
是数据乱码还是叶面乱码?另外你的HTTP传输以什么编码?数据库保存数据用的什么编码?
环境:
WindowsXP中文
Eclipse3.2.1+Myeclipse5.1.0GA
Tomcat5.5
JDK1.5.0
Hibernate3.1
Mysql5.0+ mysql-connector-java-5.0.4-bin.jar
方案:
1.集成开发环境Eclipse中设置文本文件存储编码为UTF-8。
//我想是因为….如果所做工程项目最终要在别的版本操作系统的服务器上跑,这里需要设置(未经证实)
2.数据库mysql,默认编码使用utf8;
并且创建数据库时在语句后面追加DEFAULT CHARSET=utf8;set names utf8;
//如果数据库默认编码是utf8,那这个也不是必需的吧(未经证实)
3.跟数据库连接的URL:Hibernate URL:
jdbc:mysql://127.0.0.1:3306/addressbook?useUnicode=true&characterEncoding=utf8
//如果数据库默认编码是utf8,那这个也不是必需的吧(未经证实)
4.使用过滤器,过滤器文件代码见后面附1。
Set Character Encoding
org.biti.filters.SetCharacterEncodingFilter
encoding
UTF-8
Set Character Encoding
/*
//过滤的是post还是get还没弄明白,据说只过滤器中一个,另一个见5。
5.修改Tomcat配置文件server.xml中Connector部分
maxHttpHeaderSize= "8192 "
maxThreads= "150 " minSpareThreads= "25 " maxSpareThreads= "75 "
enableLookups= "false " redirectPort= "8443 " acceptCount= "100 "
connectionTimeout= "20000 " disableUploadTimeout= "true " />
加入URIEncoding= "UTF-8 "一项。
//我现在这个没乱码的就没有设置….
附1:SetCharacterEncodingFilter.java(可在Tomcat示例源码中找到)
package org.biti.filters;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
文章评论