Я пытаюсь написать утилиту для переноса кода из нашего пользовательского исходного кода в git.
Сообщения 'commit' в старой системе постепенно добавлялись в текстовый файл в пути проекта, поэтомуЯ использую git для сравнения этих файлов от одной версии к другой, затем использую этот diff в качестве сообщения фиксации.
Неудивительно, что у меня проблемы с ударением.
Тестовая строкаis: éèàçüûöôëê
- Исходный текстовый файл (так Блокнот говорит мне) в 'ANSI'.
- Если я делаю diff в msysgit, я вижу это
<E9><E8><E0><E7><FC><FB><F6><F4><EB><EA>
- Когда я запускаю вызов процесса для git с той же командой diff (см. этот вопрос), я получаю:
ÚÞÓþ³¹÷¶ÙÛ
����������
с StandardOutputEncoding = Encoding.UTF8
, за этот вопрос. éèàçüûöôëê
с StandardOutputEncoding = Encoding.Default
Пока все хорошо, но если я отправлю éèàçüûöôëê
обратно как сообщение о коммите, git скажет мне Warning: commit message does not conform to UTF-8.
Есть какие-нибудь указатели относительно того, как заставить это работать? Этот вопрос также говорит о настройке кодировки в StandardInput, но мое сообщение о коммите содержится в аргументах, а не в входных данных.
(Git также говорит, что я могу установить переменную конфигурации i18n.commitencoding
, но я бы предпочел уважать формат git, если смогу)