Python kaynağında UTF-8 kodlaması ile çalışma

Bir düşünün:

$ cat bla.py 
u = unicode('d…')
s = u.encode('utf-8')
print s
$ python bla.py 
  File "bla.py", line 1
SyntaxError: Non-ASCII character '\xe2' in file bla.py on line 1, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

UTF-8 dizelerini kaynak kodda nasıl bildirebilirim?

Kaynak başlığında beyan edebilirsiniz:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
....

PEP 0263]1'de açıklanmıştır:

Daha sonra dizelerde UTF-8 kullanabilirsiniz:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

u = 'idzie wąż wąską dróżką'
uu = u.decode('utf8')
s = uu.encode('cp1250')
print(s)

UTF-8 varsayılan kaynak kodlaması olduğu için Python 3'te bu bildirime gerek yoktur (bkz. PEP 3120).

Buna ek olarak, metin düzenleyicinizin kodunuzu UTF-8 olarak düzgün bir şekilde kodladığını doğrulamak faydalı olabilir. Aksi takdirde, UTF-8 olarak yorumlanmayan görünmez karakterlere sahip olabilirsiniz.

Yorumlar (15)

Metin düzenleyicinizin kodunuzu UTF-8'de düzgün bir şekilde kodlayıp kodlamadığını doğrulamayı unutmayın.

Aksi takdirde, UTF-8 olarak yorumlanmayan görünmez karakterlere sahip olabilirsiniz.

Yorumlar (7)