# LC\_ALL/LANG/LANGUAGE = en\_US.UTF-8 correct for non-English sites?

**URL:** https://meta.discourse.org/t/lc-all-lang-language-en-us-utf-8-correct-for-non-english-sites/358494
**Category:** Self-hosting
**Created:** [March 23, 2025, 1:00pm UTC](https://meta.discourse.org/t/lc-all-lang-language-en-us-utf-8-correct-for-non-english-sites/358494 "2025-03-23T13:00:41Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![schneeland](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/schneeland/32/275391_2.png) [@schneeland](https://meta.discourse.org/u/schneeland)
#### Post date: [March 23, 2025, 1:00pm UTC](https://meta.discourse.org/t/lc-all-lang-language-en-us-utf-8-correct-for-non-english-sites/358494/1 "2025-03-23T13:00:41Z")

</div>

Since I starting to set up a fresh instance of Discourse, I wondered: `discourse-setup` does not ask about the locale settings of the new site and generates an `app.yml` with `LC_ALL/LANG/LANGUAGE = en_US.UTF-8`.

 ![grafik](https://global.discourse-cdn.com/meta/original/4X/7/1/8/718e40f5352120778b64f5acbe8b53bf957fff32.png)

Is this correct? If so, it would potentially be helpful if this is mentioned in the installation instructions. And if not, then it would be good if `discourse-setup` either asks for these settings or at least doesn’t start the container right away, so I can adjust them before the first startup.

I’m mainly asking because for an existing site, I had trouble with the upgrade from Postgres 13 to 15 because of locales (they were adjusted to `de_DE.UTF-8` only after initial container creation), which I fixed by resetting to `en_US.UTF-8`. But on the other hand, this means the Postgres database will be created with collation `en_US` and this might cause some issues with search when e.g. German Umlauts are used.

This old PR ([FEATURE: Ask for default language in discourse-setup by caugner · Pull Request #319 · discourse/discourse\_docker · GitHub](https://github.com/discourse/discourse_docker/pull/319)) linked from a discussion back in 2016 ([Default categories/topics in English despite German as default language in setup wizard - #3 by claas](https://meta.discourse.org/t/default-categories-topics-in-english-despite-german-as-default-language-in-setup-wizard/54775/3)) seems to indicate that Discourse now handles everything under the hood. But it would be good to have confirmation, and, as mentioned above, maybe a small note in the installation instructions.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [March 23, 2025, 2:45pm UTC](https://meta.discourse.org/t/lc-all-lang-language-en-us-utf-8-correct-for-non-english-sites/358494/2 "2025-03-23T14:45:45Z")

</div>

> <https://stackoverflow.com/questions/24773923/how-to-change-the-locale-of-an-existing-database>

Suggests (to me) that you might create a new server with the DE settings and restore the database there.

If you don’t like the safety of being sure they the new site works before you break the old one, and moving to a new os when your old one is likely approaching end of life, you could probably also make a backup, delete the postgres files, change the locale, rebuild to create the new database, and then restore the backup.

EDIT: I speak only English and am not especially expert at the intricacies of locales, but your concern about searches working correctly seem on point to me.

---

<div class="post-metadata">

### Author: ![schneeland](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/schneeland/32/275391_2.png) [@schneeland](https://meta.discourse.org/u/schneeland)
#### Post date: [March 23, 2025, 3:29pm UTC](https://meta.discourse.org/t/lc-all-lang-language-en-us-utf-8-correct-for-non-english-sites/358494/3 "2025-03-23T15:29:23Z")

</div>

So generally yes, I’ll keep the old server running until everything is set.

What I’m wondering is: while I think I would be able to manually adjust the database locale, I’m not sure if I should. But if that’s the case, then I think it would be good if `discourse-setup` made my life a bit easier in that regard.

---

<div class="post-metadata">

### Author: ![schneeland](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/schneeland/32/275391_2.png) [@schneeland](https://meta.discourse.org/u/schneeland)
#### Post date: [April 3, 2025, 6:24pm UTC](https://meta.discourse.org/t/lc-all-lang-language-en-us-utf-8-correct-for-non-english-sites/358494/4 "2025-04-03T18:24:04Z")

</div>

Sorry to bump this, but it’d be great to have some guidance here before setting up a new site (where the default language will be German).  
Gerhard’s comments in the GitHub pull request sound like Discourse might already handle language settings internally/on a per column basis, but it’s hard for me to verify if this has been implemented, so I’m not sure whether the default locale of en\_US.UTF-8 in app.yml is fine for a German site or not.
