Re: BUG #15548: Unaccent does not remove combining diacritical characters
Ramanarayana <raam.soft@gmail.com>
From: Ramanarayana <raam.soft@gmail.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: Hugh Ranalli <hugh@whtc.ca>, pgsql-hackers@lists.postgresql.org
Date: 2019-02-12T13:54:20Z
Lists: pgsql-bugs, pgsql-hackers
Hi Michael, The issue was that the python script was working in python 2 but not in python 3 in Windows. This is because the python script writes the final output to stdout and stdout encoding is set to utf-8 only for python 2 but not python 3.If no encoding is set for stdout it takes the encoding from the Operating system.Default encoding in linux and windows might be different.Hence this issue. Regards, Ram. On Tue, 12 Feb 2019 at 09:48, Michael Paquier <michael@paquier.xyz> wrote: > On Tue, Feb 12, 2019 at 02:27:31AM +0530, Ramanarayana wrote: > > I tested the script in python 2.7 and it works perfect. The problem is in > > python 3.7(and may be only in windows as you were not getting the issue) > > and I was getting the following error > > > > UnicodeEncodeError: 'charmap' codec can't encode character '\u0100' in > > position 0: character maps to <undefined> > > > > I went through the python script and found that the stdout encoding is > set > > to utf-8 only if python version is <=2. > > > > I have made the same change for python version 3 as well. Please find the > > patch for the same.Let me know if it makes sense > > Isn't that because Windows encoding becomes cp1252, utf16 or such? > FWIW, on Debian SID with Python 3.7, I get the correct output, and no > diffs on HEAD. Perhaps it would make sense to use open() on the > different files with encoding='utf-8' to avoid any kind of problems? > -- > Michael > -- Cheers Ram 4.0
Commits
-
Fix unaccent generation script in Windows
- 0afc0a784188 13.0 landed
-
Add combining characters to unaccent.rules.
- 456e3718e7b7 12.0 landed
-
Update unaccent rules with release 34 of CLDR for Latin-ASCII.xml
- e1c1d5444e43 12.0 landed
-
unaccent: Make generate_unaccent_rules.py Python 3 compatible
- 3d59da9ccdb9 12.0 landed
-
Convert unaccent tests to UTF-8
- b6f3649bba98 12.0 landed