我在笔记本上用hibernate无法insert包含中文字段的记录,英文没问题。关键是同样的程序,在我的台式机上能存。而台式机与笔记本上的所有软件都是同一版本的软件,包括jbuilder,hibernate,mysql。请问是什么问题?先谢谢了!

解决方案 »

  1.   

    可能是在安装的时候,MySql编码设置不对。
    应该设置为gb2312。
      

  2.   


    不用 hibernate 直接通过 JDBC 操作数据库看看还是不是乱码。
      

  3.   

    恩 可能是MYSQL的编码设置 
      

  4.   

    每次都是写入本机的mysql吗?
    如果是2个不同的mysql那你看看不能写入汉字的mysql编码是否是支持汉字的?
      

  5.   

    1 你的MySQL的默认字符集正确吗?就在你建库的时候2 你的jdbc链接字符串正确吗?指定了默认字符集了?
    url="jdbc:mysql://localhost:3306/yhcmusic?useUnicode=true&characterEncoding=UTF-8"参考这个自己修改一下
      

  6.   

    直接修改mysql里的field编码为gbk就可以了
      

  7.   

    先单独在终端测试,mysql数据库中能不能插入中文!
      

  8.   

    我真无奈,连接数据库不会,那就是你基础太差拉,好好学习规律的东西,数据库连接不就是那些东西吗
    驱动对象:
    Class.forname("jdbc.odbc.JdbcOdbcDriver");
    Class,forname("com.microsoft.jdbc.SQLServerDriver");
    连接对象
    mysql:
    url="jdbc:mysql://localhost:3306/yhcmusic?useUnicode=true&characterEncoding=UTF-8" 
    sqlServer:
    url="jdbc:odbc:yanming";
    url2="jdbc:microsoft:sqlserver://127.0.0.1:1433;DataBaseName=myDatabase;user='sa';pwd="
    命令对象 PreparedStatement
    结果集对象 ResultSet
      

  9.   

    mysql编码问题,如果是安装版,在开始程序mysql里用mysql manage可以重新配置编码,与jsp一致一般设为gb2312或utf-8,绿色版可以在mysql修改mysql.inf文件里面有编码的
      

  10.   

    安装 MYSQL时的编码设置应为 GBK,在程序里应该对应也是GBK, 如果2个都做了,写个过滤器, 在程序里测试下,看输出是什么,如果程序里输出是中文,加入数据库之后是乱码,那就说明是 数据库的问题了