﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-程序人生-文章分类-mysql</title><link>http://www.blogjava.net/caihualin/category/27659.html</link><description>我们站在同一起跑线上,让我们共同努力,共同奋进,愿您的人生因程序而美好!</description><language>zh-cn</language><lastBuildDate>Thu, 29 Nov 2007 18:33:09 GMT</lastBuildDate><pubDate>Thu, 29 Nov 2007 18:33:09 GMT</pubDate><ttl>60</ttl><item><title>MYSQL数据库的中文问题</title><link>http://www.blogjava.net/caihualin/articles/164101.html</link><dc:creator>蔡华林</dc:creator><author>蔡华林</author><pubDate>Thu, 29 Nov 2007 12:28:00 GMT</pubDate><guid>http://www.blogjava.net/caihualin/articles/164101.html</guid><wfw:comment>http://www.blogjava.net/caihualin/comments/164101.html</wfw:comment><comments>http://www.blogjava.net/caihualin/articles/164101.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/caihualin/comments/commentRss/164101.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/caihualin/services/trackbacks/164101.html</trackback:ping><description><![CDATA[中文显示问题一直是困扰我们的一个难题，不信你上google搜索一下，这类的问题和解答可以说是铺天盖地，好多网站甚至将其提出来作为专题来讨论，管中窥豹，可见一斑。
<p>开始也曾为这个问题头疼，上网查阅大量的资料和解决方法，终于找到了一种既简单又好用的办法，以JSP+MYSQL存储为例，简单介绍一下。</p>
<p>配置：<br />
Winxp+Tomcat5.0+Mysql5.0</p>
<p>当页面&lt;%@ page contentType="text/html;charset=gbk"%&gt;使用GBK(或者GB2312)编码后，页面中的中文都可以正常显示(&lt;%out.println("能正常显示中文吗？");%&gt;)。但是涉及到数据库的存取时，您常常会看到令人头疼的乱码。输出SQL执行的字符串，例如：insert into table values('1','菜菜','23','男'); 这时候可以看到显示的都是中文，但是当你打开数据库查看记录的时候看到还是乱码，晕！为什么？如果这时候你从MYSQL控制台命令行下输入上面的语句执行时，再查看数据库记录，咦！没有问题呀，执行同样的语句，为什么得到不一样的结果呢？看来JDBC是难脱其咎了。</p>
<p>简而言之解决方法：<br />
连接数据库时：jdbc:mysql:3306//localhost/test?user=root&amp;password=&amp;useUnicode=true&amp;characterEncoding=ISO-8859-1"，指明编码为ISO-8859-1，我看了一下MYSQL的相关文件，它默认的编码就是ISO-8859-1，但是在这里不指明的话还是有问题，中文仍旧不能正常显示(到底为什么其实我也不是很清楚)。这样在往数据库中存放的时候就正常了。</p>
<p>从数据库中读取数据时，如果用rs.getString("name")的话，乱码又出来了，这还是一个编码转换的问题，下面给一个转换函数：</p>
<p>&lt;%<br />
/********************************************<br />
&nbsp;函数名：toGB<br />
&nbsp;作&nbsp; 用：将ISO8859字符集转换为GB2312字符集<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 解决数据库中文显示问题<br />
&nbsp;参&nbsp; 数：iso ----要转换的字符串<br />
&nbsp;返回值： gb ----转换后的字符串<br />
********************************************/<br />
%&gt;<br />
&lt;%! public String toGB(String iso)<br />
{ <br />
&nbsp; String gb=null; <br />
&nbsp; if (iso != null) { <br />
try { <br />
gb=new String(iso.getBytes("ISO-8859-1"),"GB2312"); <br />
} catch (Exception e) { <br />
gb=null; <br />
} <br />
&nbsp; } <br />
&nbsp;return gb; <br />
}<br />
%&gt;</p>
<p>从数据库中读取数据时toGB(rs.getString("name"),那么数据库中的中文就会正常显示了。</p>
 <img src ="http://www.blogjava.net/caihualin/aggbug/164101.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/caihualin/" target="_blank">蔡华林</a> 2007-11-29 20:28 <a href="http://www.blogjava.net/caihualin/articles/164101.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>怎么安装MYSQL5.0的JDBC驱动</title><link>http://www.blogjava.net/caihualin/articles/164100.html</link><dc:creator>蔡华林</dc:creator><author>蔡华林</author><pubDate>Thu, 29 Nov 2007 12:27:00 GMT</pubDate><guid>http://www.blogjava.net/caihualin/articles/164100.html</guid><wfw:comment>http://www.blogjava.net/caihualin/comments/164100.html</wfw:comment><comments>http://www.blogjava.net/caihualin/articles/164100.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/caihualin/comments/commentRss/164100.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/caihualin/services/trackbacks/164100.html</trackback:ping><description><![CDATA[<p>1、下载mysql for jdbc driver.<br />
&nbsp;&nbsp; <a href="http://dev.mysql.com/downloads/connector/j/3.1.html">http://dev.mysql.com/downloads/connector/j/3.1.html</a><br />
MySQL Connector/J is distributed as a .zip or .tar.gz archive containing <br />
the sources and class files as well as a class-file only "binary" .jar <br />
archive named "mysql-connector-java-3.1.10-bin.jar".</p>
<p>2、解压缩下载的文件，如：mysql-connector-java-3.1.10.zip</p>
<p>You will need to use the appropriate gui or command-line utility to un-archive <br />
the distribution (for example, WinZip for the .zip archive, and "tar" for <br />
the .tar.gz archive).</p>
<p>3、mysql for jdbc driver有两种安装发式：</p>
<p>Once you have un-archived the distribution archive,<br />
you can install the driver in one of two ways:</p>
<p>&nbsp; 第一种方法：将com和org两个目录下所有文件和目录拷贝到任何地方，比如将com和org两个目录下所有文件和目录拷贝到任何地方，比如d:\mysqlforjdbc下<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 设置classpath=.;d:\mysqlforjdbc;%classpath%</p>
<p>Either copy the "com" and "org" subdirectories and all of their contents<br />
to anywhere you like, and put the directory holding the "com" and "org"<br />
subdirectories in your classpath, or...</p>
<p>&nbsp; 第二种方法：将mysql-connector-java-3.1.10-bin.jar拷贝到一个地方，如：D:\Program Files\Apache Software Foundation\Tomcat 5.0\common\lib下<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 设置classpath=.;D:\Program Files\Apache Software Foundation\Tomcat 5.0\common\lib\mysql-connector-java-3.1.10-bin.jar;%classpath%</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 或直接把mysql-connector-java-3.1.10-bin.jar拷贝到%JAVA_HOME%\jre\lib\ext下<br />
&nbsp;&nbsp;&nbsp;&nbsp; %JAVA_HOME%就是J2SDK的安装目录，如我的为D:\j2sdk1.4.2_06就拷贝到D:\j2sdk1.4.2_06\jre\lib\ext下</p>
<p>(调试java程序使用)</p>
<p>Put mysql-connector-java-3.1.10-bin.jar in your classpath, either by adding the <br />
FULL path to it to your CLASSPATH enviornment variable, or putting it<br />
in $JAVA_HOME/jre/lib/ext.<br />
</p>
 <img src ="http://www.blogjava.net/caihualin/aggbug/164100.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/caihualin/" target="_blank">蔡华林</a> 2007-11-29 20:27 <a href="http://www.blogjava.net/caihualin/articles/164100.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>