Skip to content

# Server locale setting

## Overview

AyaNova supports Unicode text and localization. The Locale setting of the host server operating system affects both directly and indirectly how sorting, searching and filtering (case insensitive) work in AyaNova.

When AyaNova creates it's database for the first time, PostgreSQL server will set various Locale settings by taking the operating system defaults. AyaNova only specifies the UTF8 text encoding (for Unicode support) property and leaves the rest up to PostgreSQL which in turn relies on the operating system locale settings.

## PostgreSQL locale documentation

For more information see the PostgreSQL Localization documentation

## AyaNova locale setting information

The current locale settings can be viewed in the AyaNova user interface under Server Operations -> Server Information page in the "DB server parameters" section, specifically the `lc_collate` and `lc_ctype` runtime parameters. This information is also logged to the AyaNova server log if the server's AYANOVA_LOG_LEVEL is set to DEBUG mode or lower.

## Sorting

AyaNova relies on the PostgreSQL database server to order data for display order to the user and this is controlled by the `lc_collate` runtime parameter in PostgreSQL. By default when AyaNova creates it's database it will take this parameter from the underlying operating system's locale settings.

## Searching

The AyaNova Search feature (search form) always searches case in-sensitive by default. There is no setting to change this to case sensitive as that is not supported for searching. In practice this means that all text is treated as lower case for searching. Text entered is converted to lower case and searched for by relying on the server's host operating system locale setting in conjunction with the PostgreSQL server's AyaNova database locale setting `lc_ctype` (see Overview above for how to view these settings in AyaNova).

## Filtering

Filtering a data table or pick list is case in-sensitive by default, however this can be changed in the Adminstration -> Global settings form `Filtering is case sensitive` checkbox. Setting this to checkmarked (true) means that all filters will be treated as case sensitive so for example filtering a list for "group" will NOT match to "Group".