Character set used for translation of unicode files.

Usage Notes

Used by Client? Used by Server? Command-Line Alternative Can be set in P4CONFIG file?



p4 -C charsetcmd


Value if not Explicitly Set

Operating System Value


None. If the Perforce service is operating in unicode mode and P4CHARSET is unset, Helix Server applications return an error message. See Centralized changelist server (P4CHANGE) in Helix Core Server Administrator Guide.


If the server is set to Unicode-mode, the client sets P4CHARSET to auto and examines the client’s environment to determine the character set to use in converting files of type unicode. Thus, the only time you need to set P4CHARSET to a specific type is if the client’s choice of charset results in a faulty conversion or if you have other special needs. For example, the application that uses the checked out files expects a specific character set.

P4CHARSET only affects files of type unicode and utf16 and non-unicode files are never translated.

For Perforce services operating in the default (non-Unicode mode), P4CHARSET must be left unset (or set to none) on user workstations. If P4CHARSET is set, but the service is not operating in internationalized mode, the service returns the following error message:

Unicode clients require a unicode enabled server.

For Perforce services operating in Unicode mode, P4CHARSET must either be set to auto or be set to some value (other than none) on user machines. If P4CHARSET is unset, but the service is operating in Unicode mode, Helix Server applications return the following error message:

Unicode server permits only unicode enabled clients.

For more about Unicode mode, including settings of P4CHARSET for various UTF-8, UTF-16, and UTF-32 character sets, with and without byte-order marks, see the Internationalization Notes.

In addition to affecting the client, Unicode settings also affect trigger scripts that communicate with the server. You should check your trigger’s use of file names, Helix Server identifiers, and files containing unicode characters, and make sure that these are consistent with the character set used by the server.

For a complete list of valid P4CHARSET values, issue the p4 help charset command.