Applies To:
  • CitectSCADA 5.41
  • CitectHMI 5.41

After upgrading my CitectSCADA, I receive an error message of Invalid User. I have tried to delete the .RDB and .CTF extension files from my project then recompiled everything. This did not fix the problem. I have also tried to update pages, as well as perform a pack. I have also restored my original project, and I have created brand new users and groups from scratch to try and rectify the problem. All have failed to rectify the problem, why is this? 

Due to the improvement of security in 5.41 of Citect, the password field has the encryption set to it. To achieve this level of encryption special characters are used in the password field, that is ' * ' (the asterisk). To overcome this in your CtEdit section of your citect.ini file you simply add the following parameter:


This is usually the default value, however in certain systems it may have been reconfigured to be set as AnsiToOem=1 ASCII and ANSI Character Sets

Detailed Explanation:

Each screen character is defined by a code (number). Operating systems and applications need to know these codes to attach meaning to individual characters. A character set provides a code for every character. For your operating system/application to interpret a character correctly, you must use the correct character set.OEM Character Sets

OEM (Original Equipment Manufacturer) character sets are those which are used by MS-DOS or Console applications (they are operating system dependent). Most OEM character sets do not match the ANSI character sets. For example, line drawing characters commonly used in MS-DOS character sets were replaced with language characters in ANSI character sets.

Problems can arise when building multiple language projects if inadequate consideration is given to the role that ANSI and OEM character sets play, in the way the language strings are stored and interpreted.

Language configuration information is stored in dBase files (a database standard defined primarily for MS-DOS applications) where string information is customarily stored as OEM characters. When using a Windows application (such as Excel) to edit dBase files, the characters on screen are in the ANSI character set. When you save this information to the dBase file, Excel will convert it to an OEM equivalent. For this conversion to work correctly the OEM character set must be compatible with the ANSI character set used in Excel. For example, if you have prepared strings for a project in Russian (using Excel), the OEM character set must support the Russian (Cyrillic) character set. The OEM character set used by Windows is primarily determined by your system setup and cannot easily be changed. This presents a problem for multi-language projects.

For example, consider a project to support Russian, French, and English. Excel is used to prepare the language dBase files. When saving information from Excel, it is translated from the respective ANSI character sets to OEM. To display this information, Citect will need to convert it from OEM back to ANSI. However, Russian requires a Cyrillic OEM character set and French and English requires a Latin OEM character set. This causes a problem, since Windows can have only one OEM character set at any given time (which cannot be changed dynamically). In this situation only one language can be correctly supported - not all three at the same time.

The only way to support multiple languages with differing character sets within one Citect project, is to ensure that the language information you store in dBase files is stored as ANSI (not OEM). The [CtEdit]ANSItoOEM parameter must be set to 0 (zero) to ensure that no conversion takes place. The difficulty for the developer in preparing the project is in saving this information in the first place - because most applications will store the language information in OEM format.


Note: A Tool called CitectLanguageDbfConverter is now available form the "MyCitect" toolbox to make it easier to edit the dbf files with foreign characters.


Please read KB Q4687 for further information.