On transferring data between client and server sides, server must know the encoding used at the client. By default client encoding is the same as the database encoding. You can set the encoding using TPgConnection.Options.Charset or TPgConnection.Options.UseUnicode properties. The Charset and UseUnicode options are mutually exclusive, thus on setting the UseUnicode property to True a value of Charset will be ignored.
If the Charset property is set, then on establishing a connection "SET client_encoding = <Charset>" query is automatically passed to the server to explicitly notify the server about the character set of the client. Pay attention that on setting Charset to UTF8 values of all string fields will be converted to this encoding that in most cases can make impossible to use DataAware components.
When you set the UseUnicode option to True, PgDAC also uses UTF8 encoding but it automatically converts all string values to Unicode (UTF-16). TWideStringField and TWideMemoField field types are used instead of TStringField and TMemoField. Setting the UseUnicode option to True lets you work simultaneously almost with all languages. This behaviour is suitable, for example, when creating a database of books in the library, when next to the title of a book you should also store its title in the original language.