I've got a program in C++ that uses a FileAppender to output log messages using the macros LOG4CXX_DEBUG LOG4CXX_INFO LOG4CXX_WARN and LOG4CXX_ERROR.
We use unicode text strings in our project because our software will be used around the world in different languages and locales. Every time we try to log a message using one of the aforementioned macros and that message contains accented characters such as é è ç, etc. the characters get replaces with question marks.
For example, if I were to use LOG4CXX_INFO(logger, "François") the output in the log file would be as follows:
I've tried setting my LC_ALL locale in my environment variables, setting in in the application with setlocale, I've tried calling the FileAppender's setEncoding method, calling FileAppender's setOption method as well but to no avail.
Also, setEncoding and getEncding are not documented. I assumed the proper string to pass was "UTF-8", I also tried "en-US.UTF-8" and others, but that didn't work either.
I might be mistaken, but I believe outputting unicode text to a log does not work.