We've recently run into an issue where one of our resource files got broken.
This was because one of the team members must have re-encoded an .rc file to UTF-8 and it went unnoticed.
In such a situation (comparing an ASCI file with UTF-8) TortoiseMerge reports the difference *only* if the files are identical other than the encoding change:
If there's any other difference the change is not highlighted in any way when looking at the changed lines.
Total Commander comparison (the difference is detected and explicitly visualized):
TortoiseMerge comparison - the line difference is not shown and not detected:
The reason is probably that TortoiseMerge chooses the "right" encoding to display each file and considers characters to be the same if they decode to the same character )int UTF-8?).
As least for this use case I think the expectation would be to compare the files in the same "base" encoding (so if comparing ASCII with UTF-8 during a merge I would prefer to compare them in ASCII by default with an option to "ignore encoding changes" similar to the "ignore whitespace changes" that would perform the comparison like it's being done today.
I have not found a workaround. It might be possible using the lower pane but we're not able to change the left view to ASCII.
Tight view can be switched to any encoding needed:
But the left view is locked: