我用FCKeditor-2.3在线编辑器插入数据到数据库,插中文进去的数据是乱码问题!
请各位大师请教!急!

解决方案 »

  1.   

    用new string(……)转码会吗?很简单可以搞定!
      

  2.   

    fck的页面编码是utf8,数据库如果是gbk则需要转码。另外fck在上传图片的时候,也可能存在乱码的问题。
      

  3.   

    你是什么数据库的,我也遇过这种情况!我的 是mysql
    如果是mysql,可以通过修改my.int文件的 default-character-set=gb2312(有两项)
    还有在client里设置
    SET character_set_client = gb2312;
    SET character_set_connection = gb2312;
    SET character_set_database = gb2312;
    SET character_set_results = gb2312;
    SET character_set_server = gb2312;
    基本可以解决问题还有fckeditor在上传文件时候的,文件名会乱码,创建的上传文件夹会乱码,需要修改一下
    1.关联上源代码,找到net.fckedtor.connector.ConnectServlet  把源码复制,项目下新建一个ConnectServlet黏贴代码,(大约在247行)修改doPost()String newFilename = null;
    FileItemFactory factory = new DiskFileItemFactory();
    ServletFileUpload upload = new ServletFileUpload(factory);
                    upload.setHeaderEncoding("UTF-8");
    就可以解决文件名乱码2.大约在155行
    else if (command.equals(CommandHandler.CREATE_FOLDER)) {
    String tempStr = request.getParameter("NewFolderName");
    tempStr = new String(tempStr.getBytes("iso8850-1"),"gb2312");

    String newFolderStr = UtilsFile.sanitizeFolderName(request
         .getParameter("NewFolderName"));
    logger.debug("Parameter NewFolderName: {}", newFolderStr);应该可以解决问题,web.xml把这个servlet注册了
      

  4.   

    upload.setHeaderEncoding("UTF-8");String tempStr = request.getParameter("NewFolderName");
    tempStr = new String(tempStr.getBytes("iso8850-1"),"gb2312");