Thread
Commits
-
Deal with yet another issue related to "Norwegian (Bokmål)" locale.
- fedcab352355 9.4.25 landed
- e3267407e2f9 9.5.20 landed
- 185253ab847b 9.6.16 landed
- aebe3ef0e4b3 10.11 landed
- a05a04d0edb4 11.6 landed
- 4f2ad5226975 12.1 landed
- db477b691dc4 13.0 landed
-
BUG #16068: Collate of 'Norwegian Bokmål' is problematic
The Post Office <noreply@postgresql.org> — 2019-10-19T19:08:07Z
The following bug has been logged on the website: Bug reference: 16068 Logged by: Robert Ford Email address: robfordww@gmail.com PostgreSQL version: 12.0 Operating system: Windows Description: Hi, I want to point to an issue I discovered when installing v12.0 for windows. The installer sets the Collate in the config file to 'Norwegian Bokmål.1251' (or something similar, but notice the 'å') This seems to trigger all kind of bugs. For instance "select * from pg_settings" results in an utf8 decode error. PgAdmin also returns a lot of utf8 decode errors. The problem seemed to go away when I changed the collation to "nb_NO" and ran initdb. This error should only occur in countries where the installer creates Collation names with non-ascii characters, Norway is one of them.
-
Re: BUG #16068: Collate of 'Norwegian Bokmål' is problematic
Tom Lane <tgl@sss.pgh.pa.us> — 2019-10-19T20:03:21Z
PG Bug reporting form <noreply@postgresql.org> writes: > I want to point to an issue I discovered when installing v12.0 for windows. Um, Windows-what exactly? > The installer sets the Collate in the config file to 'Norwegian Bokmål.1251' > (or something similar, but notice the 'å') This seems to trigger all kind > of bugs. That collation name has given us trouble before, cf https://git.postgresql.org/gitweb/?p=postgresql.git&a=commitdiff&h=db29620d4 https://git.postgresql.org/gitweb/?p=postgresql.git&a=commitdiff&h=aa1d2fc5e I wonder whether Microsoft changed it again :-( regards, tom lane
-
Re: Re: BUG #16068: Collate of 'Norwegian Bokmål' is problematic
Tom Lane <tgl@sss.pgh.pa.us> — 2019-10-20T21:57:14Z
[ please keep the list cc'd ] Robert Ford <robfordww@gmail.com> writes: > On Sat, Oct 19, 2019, 22:03 Tom Lane <tgl@sss.pgh.pa.us> wrote: >>> The installer sets the Collate in the config file to 'Norwegian >>> Bokmål.1251' (or something similar, but notice the 'å') >> Um, Windows-what exactly? >> That collation name has given us trouble before, cf >> https://git.postgresql.org/gitweb/?p=postgresql.git&a=commitdiff&h=db29620d4 >> https://git.postgresql.org/gitweb/?p=postgresql.git&a=commitdiff&h=aa1d2fc5e >> I wonder whether Microsoft changed it again :-( > Windows server 2012 Hm, that's not very new, and it's certainly a version we've tested. In fact I'd have guessed the above-mentioned patches were tested against that. Anyway, my first thought about this is that the mapping installed by db29620d4 looks like it will recognize 'Norwegian (Bokmål)' but not 'Norwegian Bokmål'. Could you be more precise about exactly what you're seeing in the config file? regards, tom lane
-
Re: Re: BUG #16068: Collate of 'Norwegian Bokmål' is problematic
Robert Ford <robfordww@gmail.com> — 2019-10-21T08:54:54Z
Sorry about this, but the version was *"Windows 2016 standard*". I let the installer stay on "Default locale" while installing. This results is a config file with the following values: # These settings are initialized by initdb, but they can be changed. lc_messages = 'Norwegian Bokmål_Norway.1252' # locale for system error message # strings lc_monetary = 'Norwegian Bokmål_Norway.1252' # locale for monetary formatting lc_numeric = 'Norwegian Bokmål_Norway.1252' # locale for number formatting lc_time = 'Norwegian Bokmål_Norway.1252' # locale for time formatting Then: C:\Program Files\PostgreSQL\12\bin>psql postgres postgres Password for user postgres: psql (12.0) WARNING: Console code page (850) differs from Windows code page (1252) 8-bit characters might not work correctly. See psql reference page "Notes for Windows users" for details. Type "help" for help. *postgres=# select * from pg_settings;ERROR: invalid byte sequence for encoding "UTF8": 0xe5 0x6c 0x5f* søn. 20. okt. 2019 kl. 23:57 skrev Tom Lane <tgl@sss.pgh.pa.us>: > [ please keep the list cc'd ] > > Robert Ford <robfordww@gmail.com> writes: > > On Sat, Oct 19, 2019, 22:03 Tom Lane <tgl@sss.pgh.pa.us> wrote: > >>> The installer sets the Collate in the config file to 'Norwegian > >>> Bokmål.1251' (or something similar, but notice the 'å') > > >> Um, Windows-what exactly? > >> That collation name has given us trouble before, cf > >> > https://git.postgresql.org/gitweb/?p=postgresql.git&a=commitdiff&h=db29620d4 > >> > https://git.postgresql.org/gitweb/?p=postgresql.git&a=commitdiff&h=aa1d2fc5e > >> I wonder whether Microsoft changed it again :-( > > > Windows server 2012 > > Hm, that's not very new, and it's certainly a version we've tested. > In fact I'd have guessed the above-mentioned patches were tested > against that. > > Anyway, my first thought about this is that the mapping installed by > db29620d4 looks like it will recognize 'Norwegian (Bokmål)' but not > 'Norwegian Bokmål'. Could you be more precise about exactly what > you're seeing in the config file? > > regards, tom lane > -
Re: Re: Re: BUG #16068: Collate of 'Norwegian Bokmål' is problematic
Tom Lane <tgl@sss.pgh.pa.us> — 2019-10-21T14:20:53Z
Robert Ford <robfordww@gmail.com> writes: > Sorry about this, but the version was *"Windows 2016 standard*". I let the > installer stay on "Default locale" while installing. This results is a > config file with the following values: > # These settings are initialized by initdb, but they can be changed. > lc_messages = 'Norwegian Bokmål_Norway.1252' # locale for system error > message Okay, so we need to translate that string to 'Norwegian_Norway' too. That's an easy fix, but as far as I can tell from the past discussions about this, the bugs it'll fix are distinct from what you're complaining about here: > WARNING: Console code page (850) differs from Windows code page (1252) > 8-bit characters might not work correctly. See psql reference > page "Notes for Windows users" for details. We don't have any support for Windows code page 850. Looking at the wikipedia page about that doesn't make me much inclined to add it either: wikipedia says that (a) it's largely been obsoleted by 1252, and (b) there's confusion about what the code page's contents are, specifically whether it contains a euro sign. So my recommendation here is just to switch your console code page to 1252. > *postgres=# select * from pg_settings;ERROR: invalid byte sequence for > encoding "UTF8": 0xe5 0x6c 0x5f* That hex sequence looks suspiciously like "ål_" in CP1252, so this is an encoding confusion problem. I think it'd go away if you simplified these postgresql.conf entries to 'Norwegian_Norway.1252' and restarted. What I don't remember offhand is where the funny locale name spelling might've propagated besides these entries. regards, tom lane