我在mysql数据库表中有一个字段用来存放文件路径,路径中有中文字符串,insert的时候文件路径都还是对的,但是再读出来的时候一些'\'字符没有了,也不是所有的'\'字符都没有了,只是一部分'\'字符没有了!导致文件路径不对了,请问这个问题是什么原因,怎么解决?

解决方案 »

  1.   

    没有一个人出来帮帮我吗?wwwa在线也不过来帮我解答一下...
      

  2.   

    谢谢你啊!我在程序中insert到数据库中时跟代码时路径还是对的:
    realDataFilePath: D:\_EasyHWD\模型\新建工区4\数据\点地层离散点\93-t6-cp1_04sep_154245_real_data.dat等到insert进去之后再取出来路径变成这样了:
    realDataFilePath: D:\_EasyHWD模型\新建工区4数据\点地层离散点\93-t6-cp1_04sep_154245_real_data.dat
      

  3.   

    我考虑过用两个\,不过我的路径是从对话框中取到的,到我insert的时候就已经是一个\了,我考虑把一个\替换成两个\\,不过不知道匹配的时候是不是已经发生了转义。    if (!TbIsExist(nId, strUId))
            return false;    mysqlpp::Query query = EsMySql::EsGetQuery();    query << "insert into LAYER_POINT(fileId, fileName, layerName, showDataFilePath, realDataFilePath, domainType) values("
              << m_nFileId
              << ",'"
              << m_strFileName
              << "','"
              << m_strLayerName
              << "','"
              << m_strShowDataFilePath
              << "','"
              << m_strRealDataFilePath
              << "',"
              << m_nDomainType
              << ")";    return query.exec();
      

  4.   

    自己解决了,加上mysqlpp::quote就行