做了个Swing界面的程序,注意,不是web数据库是MySQL,表编码设置为UTF-8从界面的jtextfield中读取中文,插入数据库乱码。不清楚界面的文字要怎么转化。 试过 new String(str.getBytes(), "ISO-8859-1"); 倒是插入中文了,但是有的字还是不行,比如插入“你好”,好好的,要是其他文字,可能就不行,报错。求真相啊

解决方案 »

  1.   

    查看一下你数据库的编码是不是和你的程序的编码是一样的,要用gbk都用gbk要用别的就都用别的
      

  2.   

    iso-8859-1他的字符集不够大,有些汉字没有,所以就出现乱码了,建议是gbk。当然你的mysql的编码也要设置为gbk编码,这样统一比较好
      

  3.   

    数据库肯定是UTF8, 现在是界面的数据我怎么转化才能让数据库接受
      

  4.   

    new String(str.getBytes(), "UTF-8");你可以试试
      

  5.   

    new String(str.getBytes("ISO-8859-1"), "gbk");
    可以试下
      

  6.   

    数据库UTF-8,就要插入UTF-8类型的数据
      

  7.   

    怎么保证插入的是utf8,编码现在怎么转化都不行啊
      

  8.   

    直接把系统默认编码改成UTF-8吧,不用转来转去了。
      

  9.   

    或者这样:
    String text = "......"//界面字符串
    String insert = new String(text.getBytes("UTF-8"),"UTF-8")插入字符。
      

  10.   

    ISO-8859-1是英文的,LZ你要确定是在jtextfield读到程序中是乱码还是数据库的编码不是中文的原因
      

  11.   

    最好是用utf-8,编程环境要设成utf-8的
    使用show variables like'character%';
    就知道到底是不是数据库的编码了,
      

  12.   

    set names 'gbk;' 试一下。http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
    MySQL 中文显示乱码