Helix Core is now P4. Product user interfaces will be updated soon. Learn more >>

P4 CLI Documentation | 2026.1

# P4CHARSET

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?
--- | --- | --- | ---
Yes | No | `p4 -C charsetcmd` | Yes

## Value if not explicitly set

Operating System | Value
--- | ---
All | None. If the Perforce service is operating in unicode mode and `P4CHARSET` is unset, P4 Server applications return an error message. See Centralized changelist server (P4CHANGE) in the P4 Server Administration Documentation.

## Notes

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, P4 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, P4 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.

Your search for returned results