写了个文件上传程序……发现上传不了中文名字的文件,数据库的表字段为fileID,fileFileName,fileDescription,uploadDate,当我上传的是非中文名的文件里,记录能够写入数据库,文件能够放入指定路径,当我上传文件时候 fileFileName,fileDescription 这两个有一个是中文名,MyEclipse就会报错,但是文件能够放入到指定的路径里去文件名为中文时:
insert into files(fileFileName,fileDescription,uploadDate) value('问题.txt','000','2011-04-22 08:09:53')
java.sql.SQLException: Incorrect string value: '\xCE\xCA\xCC\xE2.t...' for column 'fileFileName' at row 1文件描述为中文时:
insert into files(fileFileName,fileDescription,uploadDate) value('test.txt','测试','2011-04-22 08:19:07')
java.sql.SQLException: Incorrect string value: '\xB2\xE2\xCA\xD4' for column 'fileDescription' at row 1MySQL我连接的时候也做了设置:
String url="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=GBK";JSP页面用的同样是GBK
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>去MySQL里面那默认的latin1编码改为GBK也不行果断有点晕了

解决方案 »

  1.   

    字符集设置的问题
    http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
    MySQL 中文显示乱码
      

  2.   

    files这个表重新建为GBK字符集的吧
      

  3.   

    上传前试试set names utf8;
      

  4.   

    我用ADO+MYSQL ODBC5.1试过,
    会是提示 ODBC驱动不允许使用 “SET NAME”
      

  5.   

      1.把你的Myeclipse里面的编码都设置成UTF-8,看一下DB Browser里面显示中文是否乱码。   2.在MySQL安装路径中找到my.ini文件,把里面的client 和 server的编码都设置成GBK。重启服务。 3.把以前建的数据库先册了再建。建好后,再在你的MySQL的安装路径中的DATA文件夹中找到你数据库文件把db.opt文件中的编码改成GBK。
     
    这样应该就可以搞写了。
      

  6.   

    1L好文章,后来是这样解决的在MySQL中选择更改表,右下角勾去隐藏语言选项,再表的charset中设置成Chinese,谢谢各位好心回答
      

  7.   

    后来问题解决了,MYSQL,更改表,勾去隐藏语言选项,在里面把charset设置为GBK就可以了
      

  8.   


    你的回答真实一针见血 建表代码改为:character set gbk
    DROP TABLE userclob ;
    CREATE TABLE userclob(
    id  INT AUTO_INCREMENT PRIMARY KEY,
    name  VARCHAR(30)  NOT NULL,
    note  longtext  character set gbk
    ) ;