fork-dev / TrackerWin

Bug and issue tracker for Fork for Windows
459 stars 10 forks source link

Request for UTF-16 LE BOM Character Encoding Support #2279

Open daniel-schukies opened 1 month ago

daniel-schukies commented 1 month ago

Hello,

I am interested in using Fork for my version control needs, and I am considering purchasing a license. However, I have a specific requirement that is crucial for my workflow: support for UTF-16 LE BOM character encoding.

Currently, it appears that Fork does not support this encoding, which limits my ability to fully integrate it into my existing projects that rely on UTF-16 LE BOM files. Adding this support would be incredibly beneficial, allowing for a smoother transition and more effective use of the tool.

Could you please consider adding UTF-16 LE BOM character encoding support in a future update? This feature would significantly enhance the usability of Fork for users like myself who work with a variety of text encodings.

Thank you for your attention to this request. I look forward to your response and hope to be able to purchase and use Fork in the near future with this feature included.

Best regards

image character.txt.txt

DanPristupov commented 1 month ago

... ability to fully integrate [Fork] into my existing projects that rely on UTF-16 LE BOM files.

This will be tricky. Git doesn't work well with utf-16 and this is not related to Fork.

Here's what you can try: https://github.com/fork-dev/TrackerWin/issues/1931#issuecomment-1577925530

daniel-schukies commented 1 month ago

Worked with sourcetree before and there it was fine. Would be nice to get version of fork that can display the files.

ddbtrmatic commented 1 week ago

We run into issues with BOM as well - SSMS uses that encoding by default 😭

I highly recommend that you set up a pre-commit hook or some other CI validation to prevent these files from being checked into git in the first place.

As was stated, you can use .gitattributes to inform git on how to interpret the files. However, there are some limitations with that method. For example, the last time I checked, it was not possible to indicate to git that files with the same extension can possibly use two different encodings. So if you set .sql files to be interpreted as UTF-16 BOM, then any .sql files encoded as UTF-8 will now be interpreted incorrectly as binary.

Even if fork was somehow able to handle these file encodings automatically, none of your other git tooling would know that. You will still see binary diffs in git diff, in gitlab, github, etc.