Advanced Searches Involving Special Characters Must Be Encoded When Retrieving Search Results Through a URL.

July 17, 2006 | KB: 1011239
Web Access 7, WebLink 7.0.4

Summary

Advanced searches involving special characters must be encoded when retrieving search results through a URL. For example, if your repository contains a template where the name of a field contains a pound sign (#), you will receive an error if you specify the following template search through a Web Access URL:

    http://ServerName/laserfiche/Search.asp?dbid=0&searchcommand={[Customer]:[Phone#]="5551234"}

Similarly, the following WebLink example will also return an error:

    http://ServerName/weblink7/search.aspx?dbid=0&searchcommand={[Customer]:[Phone#]="5551234"}

Cause

Web standards limit the types of characters that you can directly use in a URL. Many non-alphanumeric characters have specific meanings when directly specified as part of a URL. For example, the # character represents an anchor and web browsers will cut off anything that appears after the character. This causes issues if your search string contains a # character.

Resolution

If your advanced search syntax contains special characters, encode the special characters by replacing the character with the percent sign (%) followed by the hexadecimal value associated with that special character. For example, the pound sign (#) has an associated hexadecimal value of 23. The example Web Access URL specified above should be reformatted as:

    http://ServerName/laserfiche/Search.asp?dbid=0&searchcommand={[Customer]:[Phone%23]="5551234"}

More Information

The following Adobe Knowledge Base article contains a listing of special characters and their associated encodings.

URL Encoding: Reading special characters from a text file