如题!做了一个web应用,部署到linux下,服务器用的是weblogic 数据库是linux自带的mysql数据库,当运行程序时,执行插入操作的时候,插入英文的时候,没有问题可以正常插入,当插入汉字的时候就提示错误,不能插入,但是在linux  执行执行insert语句汉字是可以插入的。
    还有一个乱码问题是,我用自己的weblogic,数据库是mysql,运行的时候没有乱码问题,但是用其他版本的时候就出现了乱码问题,该如何解决    以上两种方法该如何解决,请详细介绍一下,谢谢各位大虾!

解决方案 »

  1.   

    你可以把mysql的格式设置成GB2312因为我之前也碰到过这个问题,后来把数据库的格式改了就不存在插入的时候是乱码了.
      

  2.   

    是因为你的编码格式引起的问题,页面的编码,页面的输入编码,页面的输出编码以及数据库的编码格式都要求是一致的,这样才可以正确插入。一般mysql的编码格式是utf8的。
     页面编码格式设置:<%@ page contentType="text/html; charset=gb2312" >
     输入编码格式设置:<% request.setCharacterEncoding("gb2312"); %>     
     输出编码格式设置:<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
     数据库设置:set names gb2312;或者在数据库连接时设置
     
      

  3.   

    MySQL5默认的编码是ISO8859-1,Weblogic则默认使用您运行环境的编码。您可以在my.cnf上设置一下MySQL的默认编码,同时在Weblogic.xml上设置weblogic下jsp的处理编码。最好启动Weblogic的时候添加export LANG=zh_CN.GBK(如果上面默认编码使用是GBK的话)
      

  4.   

    这个问题我很早已经也遇到过。就是mysql的问题。更改以下mysql的字符编码就可以了。