我在Mysql中直接操作插入中文数据没问题,编码我都设为GBK,网页也用的gbk,可从网页提交插入中文数据总是乱码(显示????),英文、数字没事.有谁遇到过这样的问题吗?怎么样解决这样的问题。

解决方案 »

  1.   

    试一试全部用UTF-8吧
    还不行 只能转码了,出现问题的地方 可能有很多
      

  2.   

    将数据库设置为UTF-8Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/dbName?useUnicode=true&characterEncoding=UTF-8","root","");
      

  3.   

    数据库无所谓编码的,你写入数据库时候把gbk转为数据库默认的编码例如iso8859-1就可以了。取出来後再转为gbk
      

  4.   

    需要进行编码的:
    插入数据库需要new String(content.getBytes("gbk"),"iso-8859-1")编码
    从数据库中读出需要使用new String(content.getBytes("iso-8859-1"),"gbk")解码
      

  5.   

    把页面和数据库的编码设置成一样的!(UTF-8)然后在读数据的时候 按liuyunfeng01() 说的
    转换一下就OK了!
      

  6.   

    插入的时候是用new String(content.getBytes("gbk"),"iso-8859-1")编码了,如果不编码插入中文时会提示data too long for...。页面读取中文是没有问题(中文是我在Mysql中直接操作插入的)。就是从页面插入中文总是显示(???)。在页面也添加了request.setCharacterEncoding("GBK");
    response.setContentType("text/html;charset=GBK"); 
    我感觉数据库编码应该是没有问题,因为可以插入中文并正常显示。问题好像是在页面的提交和处理过程中。不知大家有没有遇到过这样的问题。
      

  7.   

    编码全部设成gbk应该也可以吧,难道只能设置成utf-8吗?
    感觉希望在向我靠近,问题如下:
    liuyunfeng01() 不是说:
    插入数据库需要new String(content.getBytes("gbk"),"iso-8859-1")编码
    从数据库中读出需要使用new String(content.getBytes("iso-8859-1"),"gbk")解码。我刚刚看了一下发现插入如果是用new String(content.getBytes("iso-8859-1"),"gbk")编码,出现错误:Data too long for column。
    然后用new String(content.getBytes("gbk"),"iso-8859-1")编码后可以插入,但是显示乱码。
      

  8.   

    可能从表单传递过程中,编码没有设置正确,使用编码过滤器,
    如果你的编码统一,绝对是没有问题的,即使我存取了韩文存到GB2312的表中,读取时只要按照韩文编码显示就没有问题,我的意思是说,数据库系统可以屏蔽掉,只要你存什么格式,读取就用什么格式就没事了,要注意的是数值在传输中的处理,你说你的“网页也用的gbk”,你能确保它传输使用GBK编码吗?
      

  9.   

    如果你希望在数据库里看到的数据不是乱码的话,你就把数据库和页面的编码都设置成GBK的 
    然后在写入和读出的时候都不用编码转换,我想就可以,我前几天还这样试过的!
      

  10.   

    首先,在MySQL启动项即my.ini文件中指定字符集为gbk,然后在建立数据库和表的时候也要指定字符集为gbk,最后在URL中写入jdbc:mysql://localhost/databasename?useUnicode=true&characterEncoding=gbk,保证字符集从头到尾都一致!否则就会出现乱码!
      

  11.   

    jsp页面 如何将长的标题用省略号收尾