MySql url参数以及Java访问中文乱码问题解决.doc_第1页
MySql url参数以及Java访问中文乱码问题解决.doc_第2页
MySql url参数以及Java访问中文乱码问题解决.doc_第3页
MySql url参数以及Java访问中文乱码问题解决.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MySql url参数以及Java访问中文乱码问题 2007-11-20 09:37:06| 分类: 数据库技术 |字号 订阅MySql url参数来源于以下地址:/jt88/blog/item/676ab1a13118608947106412.htmlmysql JDBC Driver常用的有两个,一个是gjt.Giant Java Tree)组织提供的mysql驱动,其JDBC Driver名称(JAVA类名)为:org.gjt.mm.mysql.Driver详情请参见网站:/或在本网站下载mysql JDBC Driver(mm.jar)另一个是mysql官方提供的JDBC Driver,其JAVA类名为:com.mysql.jdbc.Driver驱动下载网址:/downloads/,进入其中的MySQL Connector/J区域下载。mysql JDBC URL格式如下:jdbc:mysql:/host:port,host:port./database?参数名1=参数值1&参数名2=参数值2.现只列举几个重要的参数,如下表所示:参数名称参数说明缺省值最低版本要求user数据库用户名(用于连接数据库)所有版本password用户密码(用于连接数据库)所有版本useUnicode是否使用Unicode字符集,如果参数characterEncoding设置为gb2312或gbk,本参数值必须设置为truefalse1.1gcharacterEncoding当useUnicode设置为true时,指定字符编码。比如可设置为gb2312或gbkfalse1.1gautoReconnect当数据库连接异常中断时,是否自动重新连接?false1.1autoReconnectForPools是否使用针对数据库连接池的重连策略false3.1.3failOverReadOnly自动重连成功后,连接是否设置为只读?true3.0.12maxReconnectsautoReconnect设置为true时,重试连接的次数31.1initialTimeoutautoReconnect设置为true时,两次重连之间的时间间隔,单位:秒21.1connectTimeout和数据库服务器建立socket连接时的超时,单位:毫秒。 0表示永不超时,适用于JDK 1.4及更高版本03.0.1socketTimeoutsocket操作(读写)超时,单位:毫秒。 0表示永不超时03.0.1对应中文环境,通常mysql连接URL可以设置为:jdbc:mysql:/localhost:3306/test?user=root&password=&useUnicode=true&characterEncoding=gbk&autoReconnect=true&failOverReadOnly=false在使用数据库连接池的情况下,最好设置如下两个参数:autoReconnect=true&failOverReadOnly=false需要注意的是,在xml配置文件中,url中的&符号需要转义成&。比如在tomcat的server.xml中配置数据库连接池时,mysql jdbc url样例如下:jdbc:mysql:/localhost:3306/test?user=root&password=&useUnicode=true&characterEncoding=gbk&autoReconnect=true&failOverReadOnly=false其他参数请参见mysql jdbc官方文档: MySQL Connector/J Documentation对于乱码问题,现解决如下(本人配置过程记录):1、建数据库时,选择数据库的字符集为GBK;2、数据库建表时,在建表语句后面加上字符集,如:CREATE TABLE t_channel ( channelid int(11) NOT NULL auto_increment, channelname varchar(100) default NULL, channel varchar(20) NOT NULL, status smallint(6) NOT NULL default 1, creator int(11) default NULL, createtime datetime default NULL, PRIMARY KEY (channelid) ENGINE=InnoDB DEFAULT CHARSET=gbk;3、连接数据库的JDBC URL中指定字符集jdbc:mysql:/localhost:3306/smsdb?useUnicode=true&characterEncoding=GBK4、JSP页面中设置字符集为GBK5、在应用中加载过滤器,对字符集进行转换在web.xml中增加: SetCharacterEncoding common.SetCharacterEncodingFilter SetCharacterEncoding /* SetCharacterEncodingFilter类的代码如下:package common;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;/* * Example filter that sets the character encoding to be used in parsing the * incoming request */public class SetCharacterEncodingFilter implements Filter /* * Take this filter out of service. */ public void destroy() /* * Select and set (if specified) the character encoding to be used to * interpret request parameters for this request. */ public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException request.setCharacterEn

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论