From: | Dave Page <dpage(at)pgadmin(dot)org> |
---|---|
To: | Sergey Burladyan <eshkinkot(at)gmail(dot)com> |
Cc: | pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>, Neel Patel <neel(dot)patel(at)enterprisedb(dot)com>, Ashesh Vashi <ashesh(dot)vashi(at)enterprisedb(dot)com> |
Subject: | Re: pgagent unicode support |
Date: | 2021-02-08 09:25:27 |
Message-ID: | CA+OCxoxsk-VJOJvw95V+pDN0G79T5-F1jAHB-THsPZd10f0KRg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgadmin-hackers |
Hi
On Sat, Feb 6, 2021 at 5:00 AM Sergey Burladyan <eshkinkot(at)gmail(dot)com> wrote:
> Currently pgagent doesn't handle unicode correctly.
>
> CharToWString function corrupt multibyte characters because it processes
> string one byte at a time:
> 148 std::string s = std::string(cstr);
> 149 std::wstring wsTmp(s.begin(), s.end());
>
> WStringToChar function does not take into account that there can be
> _multi_byte character on wcstombs output and create buffer with
> size = wcslen:
> 157 int wstr_length = wcslen(wchar_str);
> 158 char *dst = new char[wstr_length + 10];
>
> Also pgagent do not setup locale with setlocale(), without it all
> wcs/mbs functions cannot handle multibyte strings.
>
> For example:
>
> === step code ===
> select 'это проверка кириллицы в теле запроса pgagent'
> =================
>
> === postgres log ===
> 2021-02-05 23:19:05 UTC [15600-1] postgres(at)postgres ERROR: unterminated
> quoted string at or near "'" at character 8
> 2021-02-05 23:19:05 UTC [15600-2] postgres(at)postgres STATEMENT: select '
> ====================
>
> Please see attached patch.
> I only test it on GNU/Linux and can't test it on Windows, sorry.
>
Thanks for the patch! Neel/Ashesh; can you take a look please? It looks OK
to me, but then I'm not overly familiar with multibyte string handling.
What, if anything, needs to be done on Windows?
--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake
From | Date | Subject | |
---|---|---|---|
Next Message | Pradip Parkale | 2021-02-08 09:31:30 | Re: [pgAdmin][RM6153]: Add publication and subscription support in Schema Diff. |
Previous Message | Akshay Joshi | 2021-02-08 09:06:08 | Re: [pgAdmin4][Patch] - Feature Tests Failure Fix |