The rc script for puppetserver6 sets the default locale to C.UTF-8 in the absence of any inherited environment variable.
There is no such locale in FreeBSD 11.x.
While the puppetserver doesn't complain, any Perl scripts invoked via a "generate()" call will do, generating warnings that pollute the output:
pm% setenv LC_ALL C.UTF-8
pm% perl -e exit
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LC_ALL = "C.UTF-8",
LANG = (unset)
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
For now my only work around has been to symlink /usr/share/locale/en-us.UTF-8 directory to C.UTF-8. If there's a better way to set the global locale as used by system daemons I've been unable to find it. All searches point at login.conf but AFAIK that's only used for interactive processes.