Something has changed in xgettext that causes incorrect files to be written.
welinder@lenovo ~/temp $ cat foo.c char *x = N_("Jean Br\xc3\xa9""fort"); welinder@lenovo ~/temp $ cat POTFILES.in foo.c welinder@lenovo ~/temp $ /usr/bin/xgettext --version xgettext (GNU gettext-tools) 0.18.3 Copyright (C) 1995-1998, 2000-2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by Ulrich Drepper. welinder@lenovo ~/temp $ /usr/bin/xgettext --keyword=N_ "--add-comments" "--directory=." "--default-domain=foo" "--from-code=UTF-8" "--files-from=./POTFILES.in" welinder@lenovo ~/temp $ grep Jean foo.po msgid "Jean Bréfort" ### That's "Jean Bre\'efort" in there. With 0.19.6 we get... welinder@lenovo ~/temp $ xgettext --version xgettext (GNU gettext-tools) 0.19.6 Copyright (C) 1995-1998, 2000-2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by Ulrich Drepper. welinder@lenovo ~/temp $ xgettext --keyword=N_ "--add-comments" "--directory=." "--default-domain=foo" "--from-code=UTF-8" "--files-from=./POTFILES.in" welinder@lenovo ~/temp $ grep Jean foo.po msgid "Jean Brßort" ### Instead of et e' we now have a German double-s. And the f is gone.