So your master is set to use ASCII, meaning it cannot process such characters in files at all. The workaround is to set your master to use UTF-8 encoding, as virtually all modern Linux distributions do. If you cannot set it systemwide, I think you can run the Jenkins Java process with -Dfile.encoding=UTF-8.
Now I have had a debate with kohsuke about this but we do not see eye to eye. His perspective is that Jenkins should always store log files in the system native encoding, which I think is mainly useful for Japanese users who are accustomed to using one of the two or three traditional encodings in that country; it is only helpful if you are directly accessing the log file from the filesystem (over the web in console it is rendered according to the encoding of the browser, or the REST client in the case of consoleText). My position is that all text files stored by Jenkins should be in UTF-8; external processes forked on a slave can be assumed to produce output in the system native encoding, which should then be recoded internally to UTF-8.
Now the twist here is freestyle vs. Workflow. In the case of a freestyle build, the system encoding on the slave is noted when the build starts, recorded as part of the build record, and used to save the log. That allows the build to handle varying encodings in one CI server. But such a trick is impossible for Workflow, which starts the build and then gets a slave, or several, or none. So it cannot use a slave-specific charset. It could either use the master’s charset, as it currently does (meaning it cannot track output from slaves using a charset which is a superset of that); or it could use UTF-8 unconditionally, which might be a better idea (though I would need some flag to indicate old build logs saved in another character set).
In either case, process output should probably be recoded to that expected by the build log. This is devilishly hard to prove in an automated test, I am afraid.
Probably dependent on system encoding. I do not recall ever testing with anything other than UTF-8.
Are you using a slave? If so, does its encoding match that of the master, or differ? Use the locale command to check. Also from /systemInfo in Jenkins you can see the file.encoding according to Java.