So when trying to start the server with my database, I get the following error.

FATAL:  database locale is incompatible with operating system
DETAIL:  The database was initialized with LC_COLLATE "English_United Kingdom.1252",  which is not recognized by setlocale().
So I know I can fix this by using initdb and then restoring my database through a dump. But I've also read that the locale names on Windows and Linux are just different names for the same locales.

Furthermore, I don't understand how a database can be used on both Linux and Windows, if it's not the same locales with different names. I've installed all 3 en_GB locales on my Linux computer, so I would expect it to work.

So if they're not the same locales, then how would you be able to make a database with a locale that can be used on both Windows and Linux?