﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
29817	Deprecate FILE_CHARSET setting	Jon Dufresne	nobody	"The setting was introduced in [https://github.com/django/django/commit/953badbea5a04159adbfa970f5805c0232b6a401 953badbea5a04159adbfa970f5805c0232b6a401].

It looks as `settings.FILE_CHARSET` is no longer necessary and could easily be deprecated. Its existence is [https://docs.djangoproject.com/en/dev/ref/unicode/#templates justified as]:

> But the common case is to read templates from the filesystem, and this creates a slight complication: not all filesystems store their data encoded as UTF-8. If your template files are not stored with a UTF-8 encoding, set the FILE_CHARSET setting to the encoding of the files on disk. When Django reads in a template file, it will convert the data from this encoding to Unicode.

Which seems suspect to me. I'm not aware of any modern environment that can't UTF-8 encode files to disk.

Its use is extremely limited in the code. After removal, we could instead document that files must be encoded using UTF-8.

Much like `DEFAULT_CONTENT_TYPE`, this setting doesn't play well with third-party libraries. If a project were to use this setting, it might be unable to load templates from third-party libraries that used the default UTF-8 encoding.

Further, this setting is entirely untested.
"	Cleanup/optimization	closed	Core (Other)	dev	Normal	fixed			Accepted	1	0	0	0	0	0
