[fs.path.fmtr.funcs]

Effects: Let s be p.generic_string<filesystem​::​path​::​value_type>() if the g option is used, otherwise p.native().

Writes s into ctx.out(), adjusted according to the path-format-spec.

If charT is char, path​::​value_type is wchar_t, and the literal encoding is UTF-8, then the escaped path is transcoded from the native encoding for wide character strings to UTF-8 with maximal subparts of ill-formed subsequences substituted with U+fffd replacement character per the Unicode Standard, Chapter 3.9 U+fffd Substitution in Conversion.

If charT and path​::​value_type are the same then no transcoding is performed.

Otherwise, transcoding is implementation-defined.