Это не мое решение, это теперь штатная функция библиотеки SdFat от Bill Greiman. Только она выключена по умолчанию.
Для того чтобы ее включить, надо в файле SdFatConfig.h убрать комментарий со строк 37 и 42 и проверить чтобы на конце этих строк стояла 1.
#define USE_UTF8_LONG_NAMES 1#define USE_LONG_FILE_NAMES 1