Cannot print greek letters in Python 2.6
Steven D'Aprano
steve+comp.lang.python at pearwood.info
Thu Nov 28 22:48:23 EST 2013
On Thu, 28 Nov 2013 14:22:01 -0800, mefistofelis wrote:
> I have the following script however when the clipboard contents are
> greek letters it fails to print them right. I have used all posible
> encoding for greek letters including utf8 but to no avail so i just stay
> with latin1.
>
> Can you suggest a solution?
>
> Here is the script:
>
> import win32clipboard
> win32clipboard.OpenClipboard()
> data = win32clipboard.GetClipboardData()
> win32clipboard.CloseClipboard()
> data = data.decode('latin1')
That cannot possibly work, since there are no Greek letters in Latin1. If
you run this piece of code, you will see no Greek letters except for ยต
MICRO SIGN.
import unicodedata
for i in range(256):
c = chr(i).decode('latin-1')
print c, unicodedata.name(c, "<no name>")
I'm not an expert on Windows, but my guess is that the data coming out of
the clipboard could be using one of these encodings:
ISO-8859-7 # The code page used by some Greek versions of Windows.
UTF-16be
UTF-16
UTF-8
I'd try ISO-8859-7 and UTF-16be first, like this:
import win32clipboard
win32clipboard.OpenClipboard()
data = win32clipboard.GetClipboardData()
win32clipboard.CloseClipboard()
data = data.decode('UTF-16BE')
--
Steven
More information about the Python-list
mailing list