From: brian m. carlson Date: Tue, 06 Jan 2026 23:22:51 GMT Subject: Re: [PATCH] ignores: handle non UTF-8 exclude files Message-ID: In-Reply-To: On 2026-01-06 at 20:45:56, Matthieu Beauchamp wrote: > On Sun, Jan 4, 2026 at 2:40 PM brian m. carlson > wrote: > > Ah, yes, here's the problem. UTF-16LE is used on Windows, and on > > Windows, Git stores pathnames as if they were converted into UTF-8, so > > you do need to write the filenames in UTF-8 in the ignore file. > > > > Yes, the conversion from UTF16-LE to UTF-8 would need to be platform > specific. We typically don't want platform-specific behaviour in Git. Many Git contributors do not work on Windows but we want things to work as much as possible identically across all platforms because it makes development easier, as well as making it easier for users to reason about the project. I, for one, don't have a Windows system (nor do I want one) but I do want my Git code to just work there. As an example, we still use a POSIX shell in aliases and other settings on Windows despite the fact that PowerShell is built into Windows because it means that aliases and similar functionality just work correctly regardless of platform and it allows users to write a config file that works everywhere. Instead of trying to force Git to gracefully handle UTF-16 in its config files, my strong recommendation is to adjust your PowerShell scripts to use UTF-8 instead[0] or use a POSIX shell. I'll note that Microsoft's new Edit text editor[1] defaults to UTF-8 (and, except on Windows, LF line endings), so I know that Microsoft understands that UTF-8 is the proper encoding to use on the Internet today. [0] https://stackoverflow.com/questions/5596982/using-powershell-to-write-a-file-in-utf-8-without-the-bom [1] Available at https://github.com/microsoft/edit and apparently shipped with Windows. I will say that I was impressed at its functionality for a 231 KiB binary footprint. -- brian m. carlson (they/them) Toronto, Ontario, CA