Re: PATCH: Encoding issue with qtLiteral function (pgAdmin4)
От | Dave Page |
---|---|
Тема | Re: PATCH: Encoding issue with qtLiteral function (pgAdmin4) |
Дата | |
Msg-id | CA+OCxoxf9shrYLa_WyZL5V2FKxV+Mu2UfjCBJCFNv50qyCrJwQ@mail.gmail.com обсуждение исходный текст |
Ответ на | PATCH: Encoding issue with qtLiteral function (pgAdmin4) (Murtuza Zabuawala <murtuza.zabuawala@enterprisedb.com>) |
Ответы |
Re: PATCH: Encoding issue with qtLiteral function (pgAdmin4)
|
Список | pgadmin-hackers |
Hi On Wed, Jul 27, 2016 at 12:18 PM, Murtuza Zabuawala <murtuza.zabuawala@enterprisedb.com> wrote: > Hi Dave, > > 1) Unicode conversion was working properly for function node, It was failing > due to wrong sql templates. > - I've fixed them. I just did a test, and it's still failing - see the attached screenshot. Aside from the encoding issue, it looks like it's adding extra quotes around the parameter data type - double-double quoting the schema and type, and then quoting the whole lot again in the CREATE part. The ALTER part looks fine. > 2) Type is also working fine with encoding for me(PFA screenshots), Can you > please provide error you got? Hmm, I can't reproduce that now. Weird. > This patch also makes Provider optional in security label control & > templates. > > ------- > Regarding enforcing to utf-8, In my opinion we can enforce everything to > utf-8 if we use any of one python version but to make it compatible with > both python2 and python3 version by forcing utf-8 encoding it will be > difficult to handle its side effects. Urgh. Ok, thanks. > Python2, > >>>> txt_sample = 'Hello' >>>> isinstance(txt_sample, str) > True >>>> isinstance(txt_sample, bytes) > True >>>> isinstance(txt_sample, unicode) > False >>>> txt_sample.encode('utf-8') > 'Hello' >>>> txt_sample.decode('utf-8') > u'Hello' > > Forcing to unicode in Python2, > >>>> txt_sample = u'Hello' >>>> isinstance(txt_sample, str) > False >>>> isinstance(txt_sample, bytes) > False >>>> isinstance(txt_sample, unicode) > True > > Python3, > >>>> txt_sample = 'Hello' >>>> isinstance(txt_sample, str) > True >>>> isinstance(txt_sample, bytes) > False >>>> txt_sample.encode('utf-8') > b'Hello' >>>> txt_sample.decode('utf-8') > Traceback (most recent call last): > File "<stdin>", line 1, in <module> > AttributeError: 'str' object has no attribute 'decode' > > > And also psycopg2 driver returns text as string in Python2 even if that text > contains unicode characters, In python3 that just works fine because string > is Unicode by default. > > > Regards, > Murtuza > > -- > Regards, > Murtuza Zabuawala > EnterpriseDB: http://www.enterprisedb.com > The Enterprise PostgreSQL Company -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company
Вложения
В списке pgadmin-hackers по дате отправления: