Activity Forums Salesforce® Discussions How to get Encoded Value when querying in Salesforce Batch Class?

  • How to get Encoded Value when querying in Salesforce Batch Class?

    Posted by Shubham on April 3, 2018 at 11:44 AM

    I have created a text field on user in which i am saving the sharepoint login name which i have to use for some further api requests.

    Sharepoint login name is saved in the following format: i:0#.f|membership|test@test.onmicrosoft.com

    But when i query the same field in batch class strangely | character is automatically encoded to | and following system debug is shown

    i:0#.f|membership|test@test.onmicrosoft.com

    I want the original value stored to make a valid API request. Also i wanted to know the reason why this is happening.

    PRANAV replied 7 years, 8 months ago 2 Members · 1 Reply
  • 1 Reply
  • PRANAV

    Member
    April 4, 2018 at 7:15 AM

    Hi Shubham,

    The vertical bar ( | ) is a computer character and glyph with various uses in mathematics, computing, and typography.

    The vertical bar is encoded in Unicode at U+007C | Vertical line (124decimal · HTML |).

     

    So to decode the HTML character in Apex class

    You have to use unescapeHtml4()

    For Example:
    string str ='Ришат|';
    string decode = str.unescapeHtml4();
    system.debug('@@@ '+decode);

    Hope this helps you.

Log In to reply.

Popular Salesforce Blogs

Popular Salesforce Videos