Это действительно сложная проблема. Проблемы возникают потому, что либо инструменты пытаются интерпретировать имена файлов, когда они точно не знают кодировку, либо потому, что они переводят, но переводят в форму, которая не может обрабатывать все случаи (например, ASCII или UTF-16). Ни одна из основных 3 ОС не согласна с тем, как кодируется имя файла, что еще более усложняет задачу.
Для лучшего понимания проблем предлагаю прочитать страницу стратегии кодирования Mercurial . В нем описывается, как различные платформы различаются, и почему Mercurial выбрал стратегию, которую он имеет.
Если вам действительно нужно это сделать, то самое основное - это то, что системы ALL должны быть настроены на использование имен файлов UTF-8, а не одной из многих японских кодовых страниц. Это легче сказать, чем сделать, но, как только это будет сделано, ни одна система не должна переводить имена файлов во что-либо еще.
Нет перевода, нет вопросов.
*: Да, я знаю, что у вас может быть системная кодировка по умолчанию, но это не то же самое, что кодировка файловой системы. Что происходит, когда файловая система используется несколькими системами или физически перемещается между системами?