Set case and accent sensitivity on a per-column basis

  • Release version: Australia
  • Updated June 4, 2026
  • 3 minutes to read
  • Summarize
    Summarized using AI
    This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.

    Summary of Set case and accent sensitivity on a per-column basis

    By default, text searches in ServiceNow table columns are insensitive to case (e.g., "A" vs. "a") and accent or diacritic differences (e.g., "A" vs. "Å"). Thelocale text matchfeature allows administrators to enforce case and accent sensitivity on a per-column basis by setting specific attributes and properties. This feature is available starting from Zurich Patch 9 and Australia Patch 2 releases.

    Show full answer Show less

    When enabled, locale text match ensures that text searches return only exact matches respecting case and accent, improving precision in queries that involve sensitive text comparisons.

    Setting locale text match on columns

    To enable case and accent sensitivity on a specific column:

    • Navigate to sysdictionary.list and find the target table and column.
    • Verify the column type is String, Translated Text, or Translated Field (only these support this feature).
    • Add the attribute i18nlocaletextmatch=true to the column’s Attributes field (accessible in Advanced view) or via the Attributes tab.
    • Ensure the system property com.glide.db.uii18nlocaletextmatch is set to true to activate this behavior in the product UI.

    Note: You cannot set i18nlocaletextmatch if the column attribute i18nsessionlanguagesortable is set or if the property com.glide.db.sessionlanguagecollationfeature is enabled.

    Once set, this behavior applies to all queries, including ACLs and business rules, so thorough testing is advised.

    Additional methods to control locale text match

    Besides the column attribute and global property, locale text match can be controlled in specific contexts:

    • GlideRecord script method: setLocaleTextMatch(Boolean) to temporarily enable or disable case and accent sensitivity for a particular query.
    • URL parameter: Adding sysparmlocaletxtmatch=true or false to URLs can override locale text match behavior for list queries.
    • Global property: com.glide.db.uii18nlocaletextmatch controls the default behavior for UI table searches; must be true alongside column attribute for effect.

    The precedence order for applying locale text match settings is:

    1. URL parameter (sysparmlocaletxtmatch) - highest priority
    2. Global property (com.glide.db.uii18nlocaletextmatch) - lowest priority

    Practical benefits for ServiceNow customers

    Enabling locale text match allows for precision in text searches where case or accent differences are significant, such as in multilingual environments or where exact text matching is required. This helps avoid incorrect query results and supports compliance with locale-specific data handling needs.

    Set locale text match to provide case and accent sensitivity when searching the text of table columns. The default behavior for text searching in table columns is insensitive to case and accent (diacritic) variations, but you can enforce sensitivity using locale text match.

    Overview of locale text match

    By default, text searching in table columns is insensitive to case (example: A vs. a) and accent or diacritic (example: A vs. Å).

    As an admin, you can modify this behavior for the fields you specify by setting the column attribute i18n_locale_text_match and a sys property com.glide.db.ui_i18n_locale_text_match. When set to true, text search on the column retrieves only exact matches for case and accent.

    Locale text match is available from Zurich Patch 9 and Australia Patch 2.

    Consider the following points when using the locale text match feature.
    • Setting locale text match overrides the collation of SQL queries for the specific column.
    • You can't set the i18n_locale_text_match column attribute when the following attribute is set on the same column: i18n_session_language_sortable or if property com.glide.db.session_language_collation_feature=true. For more information see Sorting according to the session language.
    • Test the case and accent sensitive behavior thoroughly. When the i18n_locale_text_match column attribute is set, the behavior is applied to all queries including ACLs, business rules, and so forth.

    Setting the column attribute i18n_locale_text_match

    The default behavior is i18n_locale_text_match=false. Set the column attribute to true as follows.
    Note:
    For text searches in tables in the product UI, both the column attribute and the sys property com.glide.db.ui_i18n_locale_text_matchare required. See the Global property step in the Other methods for locale text match section of this page.
    1. With the admin role, navigate to sys_dictionary.list.
    2. Search for the name of your table and the name of the column to which you want to add this attribute.
    3. Open the dictionary entry, and confirm the column's Type. This attribute can be added to String, Translated Text, or Translated Field types.
    4. In the Attributes field of the column, add i18n_locale_text_match=true. Use a comma separator without spaces. (You may need to switch to the Advanced view of the record to see the Attributes field).

      An example Dictionary Entry in Advanced view, showing the Short description column of the Task table. The Attributes field contains several values including i18n_locale_text_match=true.

    5. As an alternative to the previous step, open the Attributes tab in Related Links, then select New. In the Attributes field search for locale text match, then set the Value field to True.

      The form for a Dictionary Attribute new record. In this example, the Attribute field displays "Locale text match" and the Value field displays "true".

    6. Select Update or Submit.

    Other methods for locale text match

    There are several methods for controlling locale text matching in specific situations, as follows.
    Note:
    These methods can be applied only to a field which has the column attribute i18n_locale_text_match set to true.
    1. GlideRecord: setLocaleTextMatch (Boolean isLocaleTextMatch)
      • Where: Used in scripts, such as for background transactions.
      • Use case: Temporarily activate or deactivate locale text match (case and accent sensitivity) for a specific GlideRecord query
    2. URL parameter: sysparm_locale_txt_match
      • Where:
        • Add sysparm_locale_txt_match=true or sysparm_locale_txt_match=false as an extra parameter in a URL.
        • Table API. For information see Explore the REST API for a table.
      • Use case: When the parameter is added, activate or deactivate locale text match (case and accent sensitivity) for queries that display data in platform lists.
    3. Global property: com.glide.db.ui_i18n_locale_text_match
      • Where: Create a property in sys_properties, if it doesn't exist already.

        Name: com.glide.db.ui_i18n_locale_text_match.

        Type: true | false.

        Value: either true or false according to your business requirements. For text searches in tables in the product UI, both this property and the column attribute should be set to true.

      • Default: false
      • Use case: Activate or deactivate locale text match (case and accent sensitivity) for queries that display data in the platform lists.
    The following order determines how locale text match settings are applied. Higher priority settings override lower ones.
    1. URL parameter: sysparm_locale_txt_match (highest priority).
    2. Global property: com.glide.db.ui_i18n_locale_text_match (lowest priority).