• 2006年07月10日

    jsp向mtsql插入中文为乱码问题 - [技术同盟]

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://butoo.blogbus.com/logs/3850438.html

    昨天晚上发现编的jsp程序有问题,但我检查不出来是什么问题,因为我把一些可能出错的代码放在了try-catch模块里面。总感觉有点莫名其妙。今天早上的时候我再看程序,发现程序错误竟然是出不能向mysql数据库插入中文!这个问题以前好像没碰到过。心里又开始对老外不爽,感觉他们喜欢糊弄中国的程序员(其实是我们能力欠缺,也不能怪别人)。解决这个简单的问题花了我一个上午和半个下午。上午我用了好多办法来解决:将中文字符转换成ISO8859_1编码,到数据库中一看,还是乱码;确定连接mysql驱动代码块里的characterEncoding是否设置为gb2312;确定my.ini配置文件里面的默认字符编码是否为gb2312;将my.ini配置文件里面的默认字符编码改为ISO8859_1,还是不行;……下午帮师兄把他行李一起送到火车站托运,他马上毕业要走了。在学习上我有好多的东西问他。哎,以后很少有机会见他了。下午回来后师兄说他以前也碰到过这个问题,帮我看了很久,也弄不清楚怎么回事,他说按他的方法他以前把问题解决了,可是在我这里行不通。我只好悲哀的说:可能是我人品有问题…………。到网上找资料,介绍的东西也基本上是我试过的,有些太复杂,也不想去试。先不管它了,“md,该死老外,糊弄我们中国人!”,我又骂了一句。这时师兄急了,教育我说人要戒骄戒躁,出现问题争取自己独立解决,你要多去查mysal文档,去看看tomcat的文档,这样才有提高嘛。我晕了……,点头说有道理。晚上拉师兄去下馆子了,要犒劳一下自己,虽然白忙活了一天,吃完回来再看吧!回来后,把一些基本的方法再试了一遍,还是不行。最后把mysql服务重启了一下,还是不行。我想到了连接驱动,我的版本是3.1,把驱动换成了5.0,也不用什么字符转换,jsp页面的charset设为gb2312,mysql数据库默认编码为gb2312,测试一看,问题解决了,就这么简单!晕,解决完问题后一点也不感到高兴。


    mysql : select * from .. ORDER BY .. DESC limit 0,1;
    Orcal:  select top 1 * from ...
    mysql数据库中第一条记录的指针为0,而在结果集中一定先要rs.next(),然后第一条记录的指针为1。。。
    插入数据时转换了编码

    query = new String(query.getBytes("gb2312"),"ISO-8859-1");


    随机文章:

    备忘录2007-08-26 2007年08月26日
    华兹华斯-写于早春 2006年11月01日
    安装jre1.5+Lumaqq2006 2006年06月24日

    收藏到:Del.icio.us




    评论

  • 看了半天,不晓得你说的啥子!