"determine_encoding" considered harmful #463
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There is no reason to assume, in almost-2025, that a Python file is anything but UTF-8.
Thus, always write using the system encoding, which presumably is UTF-8 too.
The removed code causes data loss because if you open a file without UTF-8 codepoints >127 in it, Spyder says that its encoding is ASCII.
If you now add a seemingly-innocous character like an α (a perfectly valid Python variable name) or a comment with a 45° angle in it, you can no longer save the file. You get no error message; the text in the log viewer is easily overlooked, esp. as it doesn't auto-scroll down. Even if you see the error you cannot easily find the problem (where the heck is file position 4867, which character could possibly be 0xB0, and even after I determine that it's a degree sign, how do I find it)?