Не могу заставить Git хорошо играть с iconv и utf-16

Я пытаюсь заставить git распознавать UTF-16 как текст, чтобы я мог различать и исправлять текст как исходный, но у меня возникают проблемы с получениемtextconv параметр для работы.

Я могу вручную позвонить

iconv -f utf-16 -t utf-8 some-utf-16-file.rc

и все хорошо. Но если я настрою свой .gitconfig следующим образом

[diff "utf16"]
    textconv = "iconv -f utf-16le -t utf-8"

и мои .gitattributes:

# Custom for MFC
*.rc text eol=crlf diff=utf16

Однако, если я тогда, если я бегуgit diffотображается следующее:

iconv: C:/Users/Mahmoud/AppData/Local/Temp/IjLBZ8_OemKey.rc:104:1: incomplete character or shift sequence

С procmon я смог отследить это как создание этого процесса:

sh -c "iconv.exe -f utf-16le -t utf-8 \"$@\"" "iconv.exe -f utf-16le -t utf-8" C:/Users/Mahmoud/AppData/Local/Temp/JLOkVa_OemKey.rc

... который я действительно могу запустить нормально (хотя на самом файле).

Есть идеи?

(Обратите внимание, что я знаю о различных решениях для того, чтобы заставить git работать с UTF-16. Я специально пытаюсь ответить на этот вопрос, почему iconv сам по себе работает, но он не будет работать при вызове git. Кроме того, это Первоначально возникла ошибка при попытке одного из связанных решений из «дублирующего» вопроса. Спасибо всем вам.)

Ответы на вопрос(3)

Ваш ответ на вопрос