Sadegh
Sadegh

Reputation: 412

accented letters in Python

Is there any way to define a string with accented letters in python? An extreme example is this one:

message = "ÂÃÄÀÁÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ"

Error:

SyntaxError: Non-UTF-8 code starting with '\xc2'

Upvotes: 2

Views: 4310

Answers (2)

Selcuk
Selcuk

Reputation: 59228

If you use Python 3.x you can use accented (Unicode) strings without doing anything special. If you are using Python 2.x, use u prefix to denote Unicode:

message = u"ÂÃÄÀÁÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ"

Also remember to include the following line at the top of your script:

# coding=utf-8

PEP-0263 explains this in detail:

To define a source code encoding, a magic comment must be placed into the source files either as first or second line in the file, such as:

# coding=<encoding name>

Upvotes: 4

flaschbier
flaschbier

Reputation: 4177

When souce code contains something else than ASCII, you have to add a line to tell the python interpreter:

#!/usr/bin/env python
# encoding: utf-8

Read more in PEP-0263 for the exact rules how to include the encoding hint in a magic comment.

Upvotes: 5

Related Questions