From: | Murtuza Zabuawala <murtuza(dot)zabuawala(at)enterprisedb(dot)com> |
---|---|
To: | Dave Page <dpage(at)pgadmin(dot)org> |
Cc: | pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org> |
Subject: | Re: PATCH: Encoding issue with qtLiteral function (pgAdmin4) |
Date: | 2016-07-27 11:18:59 |
Message-ID: | CAKKotZT2YcvNF-cr3XV_EGiWhc-mPvGZCe5r62YFYbx6Zxvhyw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgadmin-hackers |
Hi Dave,
1) Unicode conversion was working properly for function node, It was
failing due to wrong sql templates.
- I've fixed them.
2) Type is also working fine with encoding for me(PFA screenshots), Can you
please provide error you got?
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.
For example,
*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
Attachment | Content-Type | Size |
---|---|---|
![]() |
image/png | 29.6 KB |
![]() |
image/png | 69.8 KB |
![]() |
image/png | 70.6 KB |
fix_func_templates_and_SecLabls.patch | application/octet-stream | 40.5 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Dave Page | 2016-07-27 11:34:41 | Re: PATCH: Encoding issue with qtLiteral function (pgAdmin4) |
Previous Message | Dave Page | 2016-07-27 10:36:17 | pgAdmin 4 commit: Display basic query info when execution completes in |