I am using Data Loader in command line format. I am updating a record of type Knowledge__kav, in which we have a custom rich text field called Body__c. As per documentation, I have fortmatted it as HTML in the csv file. Also as per documentation, quote charcater is escaped by adding an extra quote. This is what my csv file looks like:

"ka0S0000000449LIAQ","<table border=""0"" style=""width: 100%;""><tbody><tr><td colspan=""1"" rowspan=""1"" style=""vertical-align: bottom;""> <ul><li>this is line 1</li><li>this is line 2</li></ul>   </td><td colspan=""1"" rowspan=""1"" style=""text-align: center;width: 20%;""><b>Alert example:</b>   <div style=""text-align: center;"">ALERT </div>   </td></tr></tbody></table>"

This is the SDL file:


This is some of the entries in process-conmf.xml:

                 entry key="dataAccess.name" value="/home/hamayoun/ups/DL/kmdata/KKUpdateB.csv"/>
                <entry key="dataAccess.readBatchSize" value="200"/>
                <entry key="dataAccess.writeBatchSize" value="500"/>
                <entry key="loader.csvComma" value="true"/>
                <entry key="loader.csvOther" value="false"/>
                <entry key="loader.csvTab" value="false"/>
                <entry key="process.enableExtractStatusOutput" value="false"/>
                <entry key="process.enableLastRunOutput" value="true"/>
                <entry key="process.loadRowToStartAt" value="0"/>
                <entry key="process.mappingFile" value="/home/hamayoun/ups/DL/kmconf/KKMapUB.sdl"/>
                <entry key="process.outputError" value="/home/hamayoun/ups/DL/kmstatus/ekkub.csv"/>
                <entry key="process.outputSuccess" value="/home/hamayoun/ups/DL/kmstatus/skkub.csv"/>
                <entry key="sfdc.bulkApiCheckStatusInterval" value="5000"/>
                <entry key="sfdc.bulkApiSerialMode" value="false"/>
                <entry key="sfdc.bulkApiZipContent" value="false"/>
                <entry key="sfdc.connectionTimeoutSecs" value="60"/>
                <entry key="sfdc.enableRetries" value="true"/>
                <entry key="sfdc.endpoint" value="https://test.salesforce.com"/>
                <entry key="sfdc.extractionRequestSize" value="500"/>
                <entry key="sfdc.insertNulls" value="false"/>
                <entry key="sfdc.loadBatchSize" value="200"/>
                <entry key="sfdc.maxRetries" value="3"/>
                <entry key="sfdc.minRetrySleepSecs" value="2"/>
                <entry key="sfdc.resetUrlOnLogin" value="true"/>
                <entry key="sfdc.timeoutSecs" value="540"/>
                <entry key="sfdc.truncateFields" value="true"/>
                <entry key="sfdc.useBulkApi" value="false"/>
                <entry key="sfdc.wireOutput" value="false"/>
                <entry key="dataAccess.readUTF8" value="false"/>
                <entry key="dataAccess.type" value="csvRead"/>
                <entry key="dataAccess.writeUTF8" value="false"/>
                <entry key="process.operation" value="update"/>
                <entry key="sfdc.endpoint" value="https://test.salesforce.com"/>
                <entry key="sfdc.entity" value="Knowledge__kav"/>
                <entry key="sfdc.loadBatchSize" value="100"/>

After successfully updating, it appears that tags with properties defined with quotes are getting changed or deleted. This is what the Body__c field looks like after the update:

<table><tbody><tr></tr></tbody></table> <ul><li>this is line 1</li><li>this is line 2</li></ul>   <b>Alert example:</b>   ALERT  

So what is happening here?

1 Answer 1


This seems to be a Salesforce feature/bug in V57 Data Loader. Works perfectly in V55.

  • 1
    is there a Known Issue link you can provide?
    – cropredy
    Mar 21, 2023 at 21:36
  • I didn't find one, this was trial and error.
    – hamayoun
    Mar 22, 2023 at 17:04

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .