13

I want to split a string in python using this code:

means="a ، b ، c"
lst=means.split("،")

but I get this error message:

SyntaxError: Non-ASCII character '\xd8' in file dict.py on line 2, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

How do I declare an encoding?

Paul Fleming
  • 23,638
  • 8
  • 74
  • 112
user1472850
  • 317
  • 2
  • 6
  • 13

2 Answers2

70

Put:

# -*- coding: UTF-8 -*-

as the first line of the file (or second line if using *nix) and save the file as UTF-8.

If you're using Python 2, use Unicode string literals (u"..."), for example:

means = u"a ، b ، c"
lst = means.split(u"،")

If you're using Python 3, string literals are Unicode already (unless marked as bytestrings b"...").

MRAB
  • 19,740
  • 5
  • 38
  • 31
5

You need to declare an encoding for your file, as documented here and here.

BrenBarn
  • 228,001
  • 34
  • 392
  • 371